1.0.0-beta.1 • Published 7 months ago

@cloudbase/mcp-post-transport-client v1.0.0-beta.1

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
7 months ago

@cloudbase/mcp

@cloudbase/mcp 提供了一系列构建 MCP 的工具。包括

  • Post Transport 支持。目前 MCP 官方的远程链接基于 SSE,需要长链接且对 Serverless 不友好。大多数的 MCP Server 为无状态的,使用 Post Trasport 在无状态的 Serverless 云函数上构建无状态的 MCP Server
  • Cloudbase 云函数 2.0 支持。提供了针对云函数 2.0 的框架,专注 MCP Server 开发,快速接入部署至云函数 2.0

Post Transport

在云函数 2.0 上构建 Post MCP Server

此代码会默认在 POST /messages 提供 MCP Server 服务。

import { MCPPostServerRunner } from '@cloudbase/mcp';
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';

export const server = new McpServer({
  name: 'hello-world',
  version: '1.0.0',
});

// Add an addition tool
server.tool('get user name', async () => ({
  content: [{ type: 'text', text: 'Joe Zeng' }],
}));


export const main = async function (event, context) {
  return MCPPostServerRunner.run(event, context, server)
};

使用 PostClientTransport 链接至 Post MCP Server

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { PostClientTransport } from "@cloudbase/mcp"; 

const transport = new PostClientTransport(
  new URL(
    "https://your-service-url/messages",
  ),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer your-token`,
      },
    },
  },
)

const client = new Client(
  {
    name: "example-client",
    version: "1.0.0"
  },
  {
    capabilities: {
      prompts: {},
      resources: {},
      tools: {}
    }
  }
);

await client.connect(transport);