Skip to content

MCP Server

Connect to any Model Context Protocol server for automatic tool discovery.

FamilyCategorySub-typeAuth typeTrending score
MCP Presetsmcpgenericbearer_token86

Overview

Product URLAPI docsSupported features
https://modelcontextprotocol.io/https://modelcontextprotocol.io/specificationtool_discovery, health_check, remote_mcp

Setup

  1. Install the connector instance.
  2. Store the provider token or connection secret.
  3. Sync the remote MCP tool manifest after validation.
  4. Review approval-gated write tools before running them.

Auth & Configuration

FieldRequiredTypeNotes
serverUrlYesstring
transportNosse or streamable-http

Example config

json
{
  "serverUrl": "https://mcp.example.com/mcp",
  "transport": "streamable-http"
}
  • Only public HTTPS URLs are accepted — private and internal addresses are rejected automatically.

Available Tools

This connector discovers tools dynamically from a remote MCP server. Run the sync step after storing credentials.

Examples

Install

bash
chainabit connectors install mcp-generic --name "MCP Server" --config '{"serverUrl":"https://mcp.example.com/mcp","transport":"streamable-http"}'
bash
curl -X POST "$BASE_URL/connectors/instances" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "connectorKey": "mcp-generic",
  "displayName": "MCP Server",
  "config": {
    "serverUrl": "https://mcp.example.com/mcp",
    "transport": "streamable-http"
  }
}'
javascript
const response = await fetch(`${BASE_URL}/connectors/instances`, {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "connectorKey": "mcp-generic",
  "displayName": "MCP Server",
  "config": {
    "serverUrl": "https://mcp.example.com/mcp",
    "transport": "streamable-http"
  }
}),
});

Credentials

bash
chainabit connectors auth <instance-id>
bash
curl -X POST "$BASE_URL/connectors/instances/<instance-id>/credentials" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "credType": "bearer_token",
  "credentials": {
    "token": "YOUR_BEARER_TOKEN"
  }
}'
javascript
await fetch(`${BASE_URL}/connectors/instances/<instance-id>/credentials`, {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "credType": "bearer_token",
  "credentials": {
    "token": "YOUR_BEARER_TOKEN"
  }
}),
});

Execute

bash
chainabit connectors sync <instance-id>
bash
curl -X POST "$BASE_URL/connectors/instances/<instance-id>/sync-tools" \
  -H "Authorization: Bearer $TOKEN"
javascript
await fetch(`${BASE_URL}/connectors/instances/<instance-id>/sync-tools`, {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${TOKEN}`,
  },
});

Security Notes

  • Keep tokens, API keys, and connection strings in the encrypted credentials vault.
  • Only public HTTPS endpoints are accepted as serverUrl — private IPs, loopback addresses, and internal metadata endpoints are blocked at both configuration time and on every outbound request.
  • The POST /mcp endpoint is rate-limited to 60 requests per 60 seconds per user.

Troubleshooting

  • If the health check fails, verify the token scope or credential payload and try again.
  • Remote MCP connectors require trusted HTTPS endpoints only.

Back to the catalog

Built with purpose.