MCP Server
Connect to any Model Context Protocol server for automatic tool discovery.
| Family | Category | Sub-type | Auth type | Trending score |
|---|---|---|---|---|
| MCP Presets | mcp | generic | bearer_token | 86 |
Overview
| Product URL | API docs | Supported features |
|---|---|---|
| https://modelcontextprotocol.io/ | https://modelcontextprotocol.io/specification | tool_discovery, health_check, remote_mcp |
Setup
- Install the connector instance.
- Store the provider token or connection secret.
- Sync the remote MCP tool manifest after validation.
- Review approval-gated write tools before running them.
Auth & Configuration
| Field | Required | Type | Notes |
|---|---|---|---|
serverUrl | Yes | string | |
transport | No | sse 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 /mcpendpoint 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.