MCP (Model Context Protocol)
Your favourite assistant, meet your community.
For Storyden's built-in assistants, see Robots. To connect an external MCP server to those assistants, see Connecting an MCP server. This page covers connecting an external assistant to Storyden's own MCP server.
Storyden's MCP server lets an external assistant work with your community's content using your account's permissions. This guide walks through connecting a client and checking that it can read published Library pages.
Before you connect
The MCP server is optional and disabled by default. If you operate the community, set MCP_ENABLED=true in the backend's environment and restart the backend. If someone else runs it, ask them whether MCP is enabled and which connection URL to use.
You need an MCP client that supports remote servers over Streamable HTTP and either bearer-token authentication or Storyden's OAuth flow.
For the access-key walkthrough below, you need the following permissions:
- Use personal access keys to create and use an access key.
- Read published library pages to try the read-only request.
Connect your client
- Get the community's MCP URL from its operator. If MCP is enabled, the community's
/llms.txtalso links to a MCP Server Card containing the advertised endpoint. - In Storyden, open your account settings, choose Access Keys, and create a key for this client. Copy the secret when it appears; it is only shown once. See Access Keys for the full walkthrough.
- In your client's MCP settings, add a remote server with the connection details below. Field names vary between clients.
- Save the connection and let the client load the server's tools.
| Setting | Value |
|---|---|
| Server URL | The advertised MCP endpoint, for example https://api.community.example/mcp |
| Transport | Streamable HTTP |
| Authentication | Bearer token |
| Token | Your access key secret |
If your client accepts custom HTTP headers instead of a token field, set Authorization to Bearer YOUR_ACCESS_KEY, replacing YOUR_ACCESS_KEY with the secret. Keep it in the client's credential settings rather than a conversation or shared configuration file.
The endpoint is the public API origin followed by /mcp. The API may be on a different domain from the community's website, so use the advertised URL rather than adding /mcp to the address in your browser.
Connecting with OAuth
If the operator has enabled Storyden's OAuth server and your client supports its OAuth flows, you can sign in and authorize the client instead of creating an access key. Your account needs the Authorize OAuth applications permission. Follow your client's sign-in flow and review the application before authorizing it.
OAuth client registration and autonomous bot registration are controlled separately by the operator; neither is implied by MCP being enabled. See client registration if your client cannot register.
Check the connection
Try a small request that does not change any community content:
List up to five published pages from this community's Library, with their titles and links. Do not create or change anything.
Check that the client calls Storyden's Library listing tool and that the returned links open the expected pages. An empty result is valid if the Library has no published pages. If the assistant answers without calling a tool, ask it to use the connected Storyden server so you can verify the connection.
If the connection fails, check the advertised URL and that MCP is enabled. An authentication error can indicate an expired or revoked key; a permission error means the account needs permission for that particular action. See Access Keys and Permissions.
Permissions and tool access
An access key carries the member's current permissions. Connecting an assistant does not grant it additional access: Storyden checks permissions when tools execute. Use an account with the permissions needed for the task and review tool calls that write or moderate content.
The tool list describes the server's exported tools and is shared across authenticated clients. Seeing a tool in your client does not mean your account can use it. For example, an account that can read the Library may still be unable to create or edit pages.
Discovery for integrations
Clients that discover endpoints automatically can start at the community's web origin and read /.well-known/ai-catalog.json. When MCP is enabled, its entries include a URL for the MCP Server Card. The card describes the server and its Streamable HTTP endpoint. The community's /llms.txt links to the same discovery documents. An empty entries list means this instance does not advertise MCP.
For example, a deployment with https://community.example as its web origin and https://api.community.example as its API origin publishes the catalog at https://community.example/.well-known/ai-catalog.json; the card may point to https://api.community.example/mcp.
The Server Card intentionally does not list tools. After connecting, clients use MCP's tools/list operation to discover exported tool names and schemas. These can change between server versions, so integrations should use the instance's response rather than a hard-coded list. Authorization is checked separately when a tool is called.
For scripts that call the REST API directly, see the API guide and Storyden CLI.