Skip to content
Developer

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:

  1. In Claude, under Settings → Connectors → Add custom connector (Einstellungen → Connectors → Eigenen Connector hinzufügen), enter the URL https://your-instance.iw-erp.de/mcp.
  2. Claude finds the login via /.well-known/oauth-protected-resource/mcp and /.well-known/oauth-authorization-server, registers itself as an OAuth client and redirects you to sign in.
  3. 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.