The Integration App MCP Server is a Model Context Protocol (MCP) server, it provides actions for connected integrations as tools.
For implementing your application, see our example AI Chat Agent:
- Node.js (v14 or higher)
- An Integration.app account
git clone https://github.com/integration-app/mcp-server.git
cd mcp-server
npm install
npm run build
To run the server locally, start it with:
npm start
Access it at http://localhost:3000
Ideally, you'd want to deploy your own instance of this MCP server to any cloud hosting service of your choice.
The project includes a Dockerfile for easy containerized deployment.
docker build -t integration-app-mcp-server .
docker run -p 3000:3000 integration-app-mcp-server
This MCP server support two transports:
Transport | Endpoint | Status |
---|---|---|
SSE (Server‑Sent Events) | /sse |
🔴 Deprecated — deprecated as of November 5, 2024 in MCP spec |
HTTP (Streamable HTTP) | /mcp |
🟢 Recommended — replaces SSE and supports bidirectional streaming |
Provide an Integration.app access token via query or header:
?token=ACCESS_TOKEN
Authorization: Bearer ACCESS_TOKEN
SSE (Deprecated)
await client.connect(
new SSEClientTransport(new URL(`https://<HOSTED_MCP_SERVER_URL>/sse?token=${ACCESS_TOKEN}`))
);
// ----- or -----
await client.connect(
new SSEClientTransport(
new URL(
`https://<HOSTED_MCP_SERVER_URL>/sse`
)
{
requestInit: {
headers: {
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
},
}
)
);
Streamable HTTP (Recommended)
await client.connect(
new StreamableHTTPClientTransport(
new URL(`https://<HOSTED_MCP_SERVER_URL>/mcp?token=${ACCESS_TOKEN}`)
)
);
// ----- or -----
await client.connect(
new StreamableHTTPClientTransport(
new URL(`https://<HOSTED_MCP_SERVER_URL>/mcp`)
{
requestInit: {
headers: {
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
},
}
)
);
To use this server with Cursor, update the ~/.cursor/mcp.json
file:
{
"mcpServers": {
"integration-app": {
"url": "https://<HOSTED_MCP_SERVER_URL>/sse?token={ACCESS_TOKEN}"
}
}
}
Restart Cursor for the changes to take effect.
To use this server with Claude, update the config file (Settings > Developer > Edit Config):
{
"mcpServers": {
"integration-app": {
"url": "https://<HOSTED_MCP_SERVER_URL>/sse?token={ACCESS_TOKEN}"
}
}
}
By default, the MCP server fetches tools from all active connections associated with the provided token.
You can also get tools for a specific integration by passing the integrationKey
query parameter: /mcp?token={ACCESS_TOKEN}&integrationKey=google-calendar
- Ensure your access token is valid and you're generating it according to these instructions
- Check the MCP server logs for any errors or issues during startup or connection attempts.
- Verify that your server is running with
/
endpoint.
This project is licensed under the terms of the ISC open source license. Please refer to ISC for the full terms.