mcp-server

mcp-server

3.4

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

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:

TransportEndpointStatus
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.