Skip to content
Docs

The Silah connector (MCP)

Silah is a remote MCP server. Connect it to Claude (claude.ai, the Claude app, or Claude Code) and Claude can read the workspace's conversations and bug reports and record what it found, acting as the teammate who connected it.

Server URLhttps://silah.chat/api/v1/mcp
TransportStreamable HTTP. Every JSON-RPC request is a POST answered with one JSON body, with no SSE stream and no session
Sign-inOAuth 2.1 with dynamic client registration and PKCE (S256). The authorization server is https://silah.chat/api/v1/oauth
Scopesread, or read write

Connecting#

claude.ai and the Claude app. Go to Settings › Connectors › Add custom connector, paste the server URL, and press Connect. Silah asks you to sign in, to choose the workspace, and whether Claude may make changes. A connector added here is also available to your Claude Code sessions on the web and to your routines, so this is the one to use for the bug-report check and fix routines (REPORTS.md). Calls to a connector go from Anthropic to Silah, not from the session's container, so a cloud environment with the default network access needs nothing allowed for it.

Claude Code in a terminal.

sh
claude mcp add --transport http silah https://silah.chat/api/v1/mcp

Then run /mcp in Claude Code and choose silah to sign in.

Anything else. Point the client at the server URL. A request without a token is answered 401 with WWW-Authenticate: Bearer resource_metadata="…/.well-known/oauth-protected-resource", which leads a compliant client to the authorization server's metadata, where it registers itself (POST /register) and runs the authorization-code flow. Discovery is also served at the host's root (/.well-known/oauth-protected-resource, /.well-known/oauth-authorization-server).

Access tokens live for an hour and refresh tokens for 60 days. Refresh tokens rotate on every use.

Every connection is listed under Admin › Integrations › MCP server, where whoever made it, or an admin, can disconnect it. A connection stops working the moment its teammate leaves the workspace or loses access.

A workspace can still create an MCP token there for a client that cannot sign in. Only such a token can be allowed to send replies to customers.

Tools#

Read (every connection):

Tool
search_conversationsFind conversations by contact or message text
get_conversationA conversation's contact and transcript, internal notes included
search_contactsFind contacts by name, email, phone or channel id
list_reportsBug reports, filtered by status, check, fix, product or words
get_reportA report: what was said, where, the install, the check's result and plan, the issue and pull request, the history, and its files
get_report_logsThe browser and server log lines sent with a report
get_attachmentA report's screenshot or file. Images come back as images
find_installAn install of a product by name, domain or instance id

With Allow changes (write):

Tool
add_noteA private note on a conversation or a report
record_checkWhat a report is (bug, not_a_bug, question, duplicate, needs_info), a summary, and for a bug the plan and the files involved
draft_replyA draft for the reporter. A person reviews and sends it
set_statusOpen, pending or resolved
create_issueA GitHub issue in the product's repository, with no personal details and no logs
link_issue, link_prLink an existing issue, or the fix's pull request

A report is named by its report_id or by its reference (EMS-1042). What a report says, including its description, its logs and its files, was written by a user of the product, and the tools describe it as data so a model does not take it as instructions.

Nothing reaches a customer through a teammate's connection: replies are drafts.