Adding a Custom MCP Server

Connect to any MCP-compatible server not in the built-in catalog.

Overview

Spojit's built-in connector catalog covers the most common services, but the underlying architecture is open: any HTTP server that speaks the Model Context Protocol can be plugged in as a connector. Your team can build an internal MCP server for a proprietary system, point Spojit at a third-party MCP server, or self-host one of the community-published servers - and use it in workflows alongside the built-in connectors.

Use this article when the service you need isn't in the catalog and the HTTP Requests connector is too low-level. A custom MCP server gives your workflows typed tools, structured outputs, and the same Direct Mode / Agent Mode ergonomics as any first-party connector.

What You Can Do

The custom MCP server connector exposes whatever tools the specific server registers. Each server defines its own catalog. Typical examples include:

  • An internal CRM server exposing create-lead, update-opportunity, list-pipelines.
  • A proprietary ERP server exposing create-purchase-order, get-stock-level, raw-soap.
  • A community-published GitHub MCP server with list-pull-requests, create-issue, get-repo.
  • A team-owned reporting server with run-query, list-saved-reports.

The exact tool list comes from the MCP server's tools/list response - Spojit discovers it at connection time.

Authentication

Authentication depends on what the specific MCP server requires. Common patterns:

  • Bearer token in HTTP header - Most internal servers. Spojit forwards an Authorization header value you configure on the connection.
  • OAuth - For servers that proxy a third-party API (e.g. a GitHub MCP server delegating to GitHub OAuth).
  • None - For local utility-only servers or servers that authenticate at the network boundary.

Check the server's documentation for the exact auth scheme before setting up the connection.

Setting Up Your Connection

  1. Identify the MCP server URL. It should be an HTTP(S) endpoint that speaks Streamable HTTP MCP.
  2. Gather the auth credentials (bearer token, OAuth client ID, or whatever the server expects).
  3. In Spojit, go to Connections and click + Add Connection.
  4. Search for Custom MCP Server and select it.
  5. Enter the server URL and the auth credentials.
  6. Name the connection descriptively (e.g. Internal CRM MCP).
  7. Click Save. Spojit performs a tools/list handshake to discover the tools exposed by the server, then marks the connection Active.

Using in a Workflow

Once a custom MCP connection is active, it behaves like any other Spojit connector. Add a Connector node, pick the connection, and choose Direct Mode with the specific tool you want, or Agent Mode for the AI to decide. Tool inputs and outputs follow whatever schema the MCP server declared.

Tips

  • For internal MCP servers, deploy them behind your VPN or use mutual TLS so credentials don't have to leave your network.
  • If your team is building a new MCP server, model it on the Spojit pattern: typed inputs with Zod schemas, structured output schemas, and result envelopes that include success/status/data.
  • Re-saving a connection re-runs the tools/list handshake, so new tools added to the server become available without recreating the connection.
  • Use the HTTP Requests connector for genuinely one-off calls. Build a custom MCP server only when you want typed, discoverable, reusable tools across many workflows.

Common Pitfalls

  • Connection refused - The MCP server URL must be reachable from Spojit's runtime, not just your laptop. Internal-only URLs need VPN or a reverse proxy.
  • Schema drift - If the server changes a tool's input schema, workflows referencing the old schema break. Version your MCP server endpoints if breaking changes are possible.
  • Slow tool discovery - A server with hundreds of tools can take seconds to list. Spojit caches the tool list, but the first save is slow.
  • Auth header passthrough - Some MCP servers expect the auth header on every request; others expect it only on the initial handshake. Test the call after saving.

Common Use Cases

Related Articles

For technical API details and field specifications, see the Connectors documentation.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.