AI assistants (MCP)
Connect Claude, ChatGPT, your own chatbots and phone agents to the vynst MCP server, with the user's rights and approvals for sensitive actions.
vynst (inwendo ERP) includes its own MCP server (Model Context Protocol). Through it, AI assistants such as Claude, ChatGPT, Mistral Le Chat, Cursor or your own chatbots work with your data. An assistant never sees or does more than the person whose login it uses.
Endpoints
| Address | For |
|---|---|
https://your-instance.iw-erp.de/mcp/ |
signed-in users: OAuth, API token (x-iw-jwt-token) or session |
https://your-instance.iw-erp.de/mcp/public/ |
without sign-in, only public tools such as events and news, for example for a chat on the website |
The server is stateless: one JSON-RPC message per request, no sessions, no SSE. It knows server/discover, tools/list and tools/call. Tool titles and descriptions are available in German and English (?lang=en).
Connecting Claude and other assistants
With the setting mcp_oauth_discovery_enabled, the address and a login are enough:
- In Claude, under Settings → Connectors → Add custom connector (Einstellungen → Connectors → Eigenen Connector hinzufügen), enter the URL
https://your-instance.iw-erp.de/mcp. - Claude finds the login via
/.well-known/oauth-protected-resource/mcpand/.well-known/oauth-authorization-server, registers itself as an OAuth client and redirects you to sign in. - You sign in and confirm the permission. Done.
Allowed redirect addresses are listed in mcp_oauth_registration_redirect_hosts (by default: Claude, ChatGPT, Mistral, VS Code, Cursor and the MCP proxy of vynst; localhost is always allowed, for example for Claude Code). The web server must forward /mcp/*, /oauth/* and /.well-known/oauth-* to vynst.
Trying it with an API token
curl -s https://your-instance.iw-erp.de/mcp/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/list' \
-H 'x-iw-jwt-token: <TOKEN>' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}'
For tools/call, also set the header Mcp-Name: <tool>.
What an assistant sees
A tool only appears when four checks pass. Otherwise, it looks to the assistant like an unknown tool:
| Check | Example |
|---|---|
| Switch of the installation | mcp_report_tools_enabled off: no report tools |
| Tool filter of the API token | token may only use crm_search_persons and ticket_create |
| Endpoint restriction of the token | token only for GET /api/crm/crmpeople |
| The user’s rights | without read rights for contacts, no crm_* tools |
Read, write, propose
| Type | Meaning | Examples |
|---|---|---|
| read | changes nothing | crm_search_persons, report_members, event_list_upcoming |
| write | changes immediately, but only internal data or the user’s own data | ticket_add_internal_note, self_service_update_person |
| proposal | creates a request; nothing happens until a person approves it in the admin area | membership_propose_cancel, notification_propose_mail, api_propose_patch |
Anything that cancels, bills, moves money, writes to members or changes the customer app goes through approvals. With mcp_approval_four_eyes, two people must approve. For the contribution run, SEPA and imports, the four-eyes principle is enabled by default.
Through the general api_* tools, an assistant can reach every REST endpoint. What it may change there is set by mcp_api_write_mode: approval (default, proposals only), off (read only) or direct (immediate changes).
Important settings
| Setting | Default | Effect |
|---|---|---|
mcp_server_enabled |
on | MCP server under /mcp/ |
mcp_server_public_enabled |
on | anonymous endpoint /mcp/public/ |
mcp_oauth_discovery_enabled |
off | connecting by URL and sign-in |
mcp_api_write_mode |
approval |
writing via the API tools |
mcp_approval_tools_enabled |
off | approval queue and all proposals |
mcp_report_tools_enabled |
off | report figures (report_*) |
mcp_approval_import_enabled |
off | file imports via an assistant (import_*) |
mcp_app_config_tools_enabled |
off | configure customer app v2 (app_*) |
mcp_audit_log_enabled |
on | every tools/call goes into the audit log, kept for 180 days |
Phone assistants
AI agents on the phone verify callers with caller_verify before they give any information. Together with the general call webhook, the conversation then arrives in vynst as a call.
Importing data through an assistant
An assistant can propose a file for import (import_propose_file) and query the status (import_status). Nothing is imported until it is approved. The guide Importing data describes which files vynst understands.