Currently Available: Need a skilled Software Developer for your next project?
Categories
Coding Agents

How to Deploy a Remote MCP Server and Add It to Claude as a Custom Connector

To let Claude use a service you run, host an MCP server that offers tools or data, then add a connector in Claude that points to the server. The server uses the Model Context Protocol (MCP), a standard for letting AI clients discover and use capabilities provided by another service.

A remote MCP server runs at a network address instead of on your computer. Claude connects to it from Anthropic’s infrastructure, so the server must be reachable from Anthropic and must enforce authentication and permissions. A custom connector tells Claude how to connect; it does not host, review, or publish the server.

For a new remote server, use Streamable HTTP, a way to carry MCP messages over HTTP that Anthropic recommends for new implementations. First choose the tools Claude needs. Then build and host the MCP service, test it, and add its URL in Claude.

Choose the tools and access model

Decide what Claude should be able to do before you deploy the server. MCP servers can expose tools for actions or queries. They can also expose resources that provide data and prompts that supply reusable prompt templates. For example, a records service might expose a read-only search_records tool separately from a create_record tool that changes data.

Keep the exposed capabilities narrow. A tool that writes or deletes data should have only the permissions it needs, and its description should make its effect clear. Claude recommends reviewing tool behavior and disabling tools that a conversation does not need. Connected tools can reach external data and take actions, so the permissions on the server matter as much as the connector setting.

Choose how the server will verify Claude’s access before you build the connection flow. OAuth lets each user sign in with an individual account; it is an authorization method. A fixed credential, such as an API key sent in a request header, gives the server one shared identity. Use a server without authentication only when its data and actions are intentionally public.

For managed Team or Enterprise connectors, a fixed credential is shared by users of that connector. It does not preserve each user’s separate access rights. Use a narrowly scoped credential for shared access, or OAuth when the service needs to apply user-specific permissions.

Build and host the MCP server

Implement the server with an MCP SDK, then register the tools, resources, or prompts it will expose. Anthropic’s MCP server documentation links to TypeScript and Python examples and recommends Streamable HTTP for new remote servers. The TypeScript SDK also documents Streamable HTTP server options.

A stateless server suits many API-like services because it handles each request without keeping a client session between requests. A stateful server keeps session information and can support features such as resumability, but it must manage session lifetimes and concurrent connections. Use a stateful server only when the service needs it. The server’s session management also affects how you operate and scale it.

Deploy the service at a stable, internet-reachable address, such as https://mcp.example.com/mcp. That URL is an example, not a required path. A server running only on a developer’s laptop or behind a private corporate network is unavailable to Claude’s remote connector unless network access is configured to reach it.

If a firewall limits incoming requests, check Anthropic’s current outbound IP ranges before creating an allowlist, which is a list of addresses the firewall permits. These addresses can change, so use the live documentation rather than treating a copied range as permanent.

MCP supports more capabilities than Claude currently uses. Anthropic’s server documentation lists support for tools, prompts, resources, and text or image tool results. It also notes that Claude does not currently support some MCP features, including resource subscriptions and sampling. Test the specific features your server depends on with Claude rather than assuming support from the protocol or SDK alone.

Configure authentication and test the endpoint

With OAuth, the MCP server typically checks access tokens issued by an authorization server, a service that grants and issues those tokens. The MCP server does not necessarily issue them itself. The MCP authorization guidance explains this arrangement and how to set up token checks.

Claude’s current build documentation lists support for authorization specification versions dated 2025-03-26, 2025-06-18, and 2025-11-25. It also supports Dynamic Client Registration (DCR). If your authorization server does not support DCR, follow the alternative registration instructions in Claude’s documentation. For hosted Claude surfaces, that documentation identifies https://claude.ai/api/mcp/auth_callback as the callback address, where the authorization server sends the user after sign-in. Before connecting users, confirm the current requirements for your chosen flow, including how token refresh works.

Test the deployed endpoint, the URL Claude will contact, before making it available more broadly. Use Claude to check that it can reach the server. Confirm that Claude finds the expected tools and can authenticate. Then have it complete a harmless read-only call. Then test any tool that changes data using test data and suitable permissions. Anthropic also points to MCP Inspector, a tool for inspecting exposed tools and checking authentication.

When a test fails, find where the failure occurs. If Claude cannot reach the endpoint, check the URL, network access, and firewall rules. If the server responds but the expected tools do not appear, check which tools the server registered and whether Claude supports the MCP features you used. If authentication fails, check the selected method and its settings. Inspect the server’s logs for request or authorization errors. The connector might not provide enough detail to diagnose every problem.

Add the server in Claude

For an individual account, the current Help Center instructions direct users to Customize > Connectors, then + Add and Add custom connector. Enter a connector name and the remote MCP server URL. Review the detected authentication settings. Select the method the server uses. Then provide any required OAuth client details or request headers.

For Team or Enterprise accounts, an authorized administrator first adds the connector through organization settings. Members can then open Customize > Connectors and connect to the organization’s configured connector. Once configured, enable the connector in a conversation from the + menu under Connectors.

These menu names reflect the current Claude connector instructions, but Claude’s interface and plan availability can change. The current Help Center page lists custom connectors across Free, Pro, Max, Ultra, Team, and Enterprise plans, with Free users limited to one custom connector.

Secure the connector after launch

Give the MCP server only the credentials and permissions its tools require. Separate read-only tools from tools that change data, and review the wording Claude sees for each tool so its purpose and effects are clear. Review tool approval prompts before allowing actions to run without confirmation.

Treat the MCP server as an external service that needs ongoing monitoring. Check that its endpoint remains reachable. Protect its credentials. Review changes to tool behavior and permissions. A custom connector does not mean Anthropic has reviewed or listed the server, and MCP itself does not guarantee that a server is safe. Anthropic advises connecting only to trusted servers and watching for malicious behavior, including attempts to use prompt injection to influence actions.

Also account for Claude’s client-specific limits. Anthropic documents a maximum tool-result size of about 150,000 characters and a 240-second timeout per call for claude.ai and Claude Desktop. These limits apply to Claude clients, not to the MCP protocol as a whole. Keep tool results focused, and check the documentation for the Claude client you use.

What I'm building

Delegate tasks. Get software.

Give Vroni a GitHub issue, bug report, spec, or rough idea. It reads the repo, plans the change, writes code, runs checks, and works toward a review-ready pull request.

Take a look at vroni.com

Email updates

Usually a new article and a few links I found interesting.

No spam. Unsubscribe with one click.

Leave a Reply

Your email address will not be published. Required fields are marked *