返回市场
MCP服务器

MCP服务器

作者:membranehq30 星标更新:2025-07-09

项目介绍

Integration App MCP Server

<a href="https://integration.app/"> <img width="1148" alt="截图 2025-07-07 23 03 05" src="https://gips0.baidu.com/it/u=979594765,1140899735&fm=3081&app=3081&f=PNG?w=2296&h=488" /> </a>

Integration App MCP Server 是一个 Model Context Protocol (MCP) 服务器,它为 Integration.app 膜状物上的连接集成提供工具。

这里是我们官方的 AI Agent 示例,展示了如何在您的应用程序中使用此 MCP 服务器。

📋 先决条件

⚙️ 安装

git clone https://github.com/integration-app/mcp-server.git
cd mcp-server
npm install
npm run build

🛠️ 本地开发

要运行本地开发服务器,请执行以下操作:

npm run dev

服务器将在 http://localhost:3000 上运行 ⚡️

🧪 运行测试

# 在测试模式下启动服务器
npm run start:test

# 然后运行测试
npm test

🚀 部署

将您自己的 MCP 服务器实例部署到您选择的任何云托管服务上。

🐳 Docker

项目包括一个 Dockerfile,用于轻松容器化部署。

docker build -t integration-app-mcp-server .
docker run -p 3000:3000 integration-app-mcp-server

🔗 连接到 MCP 服务器

此 MCP 服务器支持两种传输方式:

传输方式终点状态
SSE (服务器发送事件)/sse🔴 已弃用 — 自 2024 年 11 月 5 日起在 MCP 规范中被弃用
HTTP (可流式传输 HTTP)/mcp🟢 推荐 — 替代 SSE 并支持双向流式传输

🔐 认证

通过查询或 Authorization 头提供 Integration.app 访问令牌

?token=ACCESS_TOKEN
Authorization: Bearer ACCESS_TOKEN

SSE (已弃用)

await client.connect(
  new SSEClientTransport(
    new URL(
      `https://<HOSTED_MCP_SERVER_URL>/sse`
    ),
    {
      requestInit: {
        headers: {
          Authorization: `Bearer ${ACCESS_TOKEN}`,
        },
      },
    }
  )
);

可流式传输 HTTP (推荐)

await client.connect(
  new StreamableHTTPClientTransport(
    new URL(`https://<HOSTED_MCP_SERVER_URL>/mcp`),
    {
      requestInit: {
        headers: {
          Authorization: `Bearer ${ACCESS_TOKEN}`,
        },
      },
    }
  )
);

⚡ 静态模式与动态模式

默认情况下,MCP 服务器以 静态模式 运行,这意味着它会返回所有可用工具(动作)给所有连接的集成。

动态模式 (?mode=dynamic) 下,服务器只会返回一个工具:enable-tools。您可以使用这个工具来选择性地启用您实际需要的工具。

在动态模式下,您的实现应该确定哪些工具对用户的查询最相关。一旦确定了它们,提示 LLM 调用带有适当列表的 enable-tools 工具。

想看看这在实践中是如何工作的吗?请查看我们的 AI Agent 示例

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const client = new Client({
  name: 'example-integration-app-mcp-client',
  version: '1.0.0',
});

const transport = new StreamableHTTPClientTransport(
  new URL(`https://<HOSTED_MCP_SERVER_URL>/mcp?mode=dynamic`),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${ACCESS_TOKEN}`,
      },
    },
  }
);

await client.connect(transport);

await client.callTool({
  name: 'enable-tools',
  arguments: {
    tools: ['gmail-send-email', 'gmail-read-email'],
  },
});

🔧 获取特定集成的工具

在静态模式下,MCP 服务器从与提供的令牌关联的所有活动连接中获取工具。

您可以选择仅获取特定集成的工具,通过传递 apps 查询参数:/mcp?apps=google-calendar,google-docs

💬 会话管理(实验性)

MCP 服务器(仅限可流式传输 HTTP 传输)支持持久聊天会话。在请求中包含 x-chat-id 头以自动跟踪该特定聊天的会话。这是一个我们额外提供的实验性功能,除了标准的 MCP 会话之外。

开始新的聊天会话:

POST /mcp
Authorization: Bearer YOUR_ACCESS_TOKEN
x-chat-id: my-awesome-chat-123

检索您的聊天会话:

GET /mcp/sessions
Authorization: Bearer YOUR_ACCESS_TOKEN

响应:

{
  "my-awesome-chat-123": "session-uuid-1",
  "another-chat-456": "session-uuid-2"
}

此功能允许您在同一会话中进行对话。请查看我们的 AI Agent 示例 以了解这在实践中是如何工作的。

配置其他 MCP 客户端

📝 Cursor

要使用此服务器与 Cursor 一起工作,请更新 ~/.cursor/mcp.json 文件:

{
  "mcpServers": {
    "integration-app": {
      "url": "https://<HOSTED_MCP_SERVER_URL>/sse?token={ACCESS_TOKEN}"
    }
  }
}

重新启动 Cursor 以使更改生效。

🤖 Claude Desktop

要使用此服务器与 Claude 一起工作,请更新配置文件(设置 > 开发者 > 编辑配置):

{
  "mcpServers": {
    "integration-app": {
      "url": "https://<HOSTED_MCP_SERVER_URL>/sse?token={ACCESS_TOKEN}"
    }
  }
}

🔧 故障排除

  • 确保您的访问令牌有效,并且您是根据这些说明生成它的。
  • 检查 MCP 服务器日志,以查找启动或连接尝试期间的任何错误或问题。
  • 使用 MCP Inspector 进行测试和调试。