mcp-server
If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Integration App MCP Server is an implementation of the Model Context Protocol server that allows clients to connect and access tools from active connections using SSE transport.
Integration App MCP Server
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:
Prerequisites
- Node.js (v14 or higher)
- An Integration.app account
Installation
git clone https://github.com/integration-app/mcp-server.git
cd mcp-server
npm install
npm run build
Local Development
To run the server locally, start it with:
npm start
Access it at http://localhost:3000
Deployment
Ideally, you'd want to deploy your own instance of this MCP server to any cloud hosting service of your choice.
Docker
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
Connecting to the 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 |
Authentication
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}`,
},
},
}
)
);
Cursor Configuration
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.
Claude Desktop Configuration
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}"
}
}
}
Integration Scoping
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
Troubleshooting
- 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.