关于 MCP Serverless
MCP Serverless 是用于构建无服务器 MCP 服务并管理工具的包。它支持内存中的客户端与服务连接,也可通过请求上下文传递客户端凭据。
主要功能
- 01注册和管理工具
- 02处理工具请求
- 03创建内存客户端与服务连接
- 04通过请求上下文传递凭据
适用场景
- 01构建无服务器 MCP 服务
- 02在内存中连接客户端与服务
- 03通过请求上下文转发客户端凭据
MCP 相关
提供创建 MCP 服务及内存客户端—服务连接的 API,并包含使用 stdio 传输的示例。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Serverless
Model Context Protocol(MCP)架构的无服务器实现,通过简洁的接口实现工具管理。
概述
此软件包提供了 MCP 服务的无服务器实现,可用于:
- 注册和管理工具
- 处理与工具相关的请求
- 创建内存中的客户端与服务连接
- 为请求添加上下文,以便客户端传递凭据
安装
npm install @tilfin/mcp-serverless
用法
注册工具并为实现服务创建客户端
import { createService, ToolManager } from '@tilfin/mcp-serverless';
// Create a tool manager
const toolManager = new ToolManager();
// Register tools
toolManager.registerTools([
{
name: 'calculator',
description: 'Performs basic arithmetic operations',
inputSchema: {
type: 'object',
properties: {
operation: { type: 'string' },
numbers: { type: 'array', items: { type: 'number' } }
},
required: ['operation', 'numbers']
},
toolFunction: async (params, ctx) => {
if (ctx.apiKey !== 'xyz') throw new Error('Invalid API Key');
let result;
if (params.operation === 'add') {
result = params.numbers.reduce((sum, n) => sum + n, 0);
}
return { result };
}
}
]);
// Create a serverless client
const client = createService(toolManager);
// List available tools
const toolsList = await client.listTools();
// Call a tool
try {
const result = await client.callTool({
name: 'calculator',
arguments: {
operation: 'add',
numbers: [1, 2, 3]
}
});
} catch (err) {
// raise Invalid API Key error
}
// Call a tool with context
const result = await client.callTool({
name: 'calculator',
arguments: {
operation: 'add',
numbers: [1, 2, 3]
},
ctx: { apiKey: 'xyz' }
});
API 参考
ToolManager 类
管理工具的注册和处理。
Tool 接口
工具必须实现以下接口:
interface Tool {
name: string;
description: string;
inputSchema: ToolInput;
toolFunction: (args: CallToolRequestArguments, ctx: CallToolRequestContext) => Promise<CallToolResultContent>;
}
createServer(serverInfo, toolManager)
使用指定的工具管理器创建 MCP 服务。
createService(toolManager)
创建用于无服务器运行的内存客户端与服务设置。
示例
标准输入/输出传输
此软件包包含使用标准输入/输出传输进行客户端和服务通信的示例:
StdioClientTransport:允许客户端通过标准输入/输出与服务通信StdioServerTransport:使服务能够通过标准输入/输出处理请求
查看示例实现:
- 客户端:stdio_client.mjs
- 服务:stdio_server.mjs
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。