MCP服务器
MCP服务器通过提供用户友好的API来创建自定义工具和高效管理服务器工作流,从而简化了模型上下文协议的实现。
服务介绍
mcp-server
[!IMPORTANT]
我们已将项目迁移到 Agentico,以便更好地为AI开发者组织工具和服务。我们鼓励您使用新的包,并关注 Agentico 的 GitHub 仓库 上的更新。
MCP Server 是一个简单的服务器,它实现了 Model Context Protocol (MCP) 来提供一个更简单的 API 以与 Model Context Protocol 交互。
为什么使用这个服务器?
在 "La Rebelion" 中,我们正在开发一套工具和服务,以简化流程和工作流,从而带来更好、更高效的开发体验。这个服务器是这套工具的一部分。
MCP 非常棒,但开始时可能会有点令人困惑。我们创建了一个 外观模式 来简化创建实现 Model Context Protocol 服务器的过程。模式很简单,你只需要用你自己的逻辑创建 tools,注册这些工具并启动服务器即可。
创建新服务器的步骤
未来我们将提供一个 CLI 来创建一个新的类似于 MCP create server 的服务器,但目前您可以根据 官方文档创建服务器 的指导按以下步骤操作。
mkdir -p my-server/src
cd my-server/
yarn init -y
yarn add @modelcontextprotocol/sdk zod zod-to-json-schema
yarn add -D @types/node typescript
# Here lies the magic
yarn add @la-rebelion/mcp-server
你需要更新 package.json 文件并创建一个 tsconfig.json 文件。
开始使用
使用自定义逻辑实现你的工具,并在 MCPServer 中注册它们。下面是一个简单的 echo 工具示例:
import { Tool, ToolSchema } from "@la-rebelion/mcp-server";
export class EchoTool extends Tool {
toolSchema: ToolSchema = {
name: "echo",
description: "Echoes the input message",
schema: { // the schema for the parameters needed by the tool
type: "object",
properties: {
message: { type: "string" },
},
required: ["message"],
},
};
/**
* Your logic here, implement the execute method to define the tool behavior
* @param input The input message - use the schema to define the input type
* @returns In the example, we are echoing the message
*/
async execute(input: any): Promise<any> {
// This is a simple echo tool demo, nothing fancy, just echoing the message
return Promise.resolve({
content: [
{
type: "text",
text: `${input.message}`
}
]
});
}
}
创建一个 index.ts 文件,内容如下:
#!/usr/bin/env node
import { MCPServer } from '@la-rebelion/mcp-server'
import { EchoTool } from "./tools/EchoTool.js";
const myServer = new MCPServer('My MCP Server', '1.0.0');
async function main() {
// Register tools
myServer.registerTool("echo", EchoTool);
await myServer.run();
}
main().catch((error) => {
console.error("Server error:", error);
process.exit(1);
});
就这样!你已经创建了一个实现 Model Context Protocol 的简单服务器。可以使用 Claude Desktop 或任何支持 MCP 的客户端来测试它。
使用以下命令构建项目:
yarn build
你可以启动服务器,但它还没有逻辑,你可以使用以下命令进行测试:
yarn start
# or
node build/index.js
就是这样,开始创建你自己的工具和服务,以简化你的工作流和过程吧。
起义者加油!✊🏻
UML 图

- MCPServer: 注册将被服务器使用的工具。
- Tool: 所有工具的基类,包含通用属性和方法。
execute方法是在调用工具时被调用的方法,在这里实现你的逻辑。 - EchoTool: 特定工具的实现,扩展 Tool 类并定义其自己的模式和初始化逻辑。
- EchoSchema: 定义 EchoTool 输入的结构。
- EchoInput: 基于模式的输入类型定义。
这种模式允许以灵活且可扩展的方式使用 MCPServer 和 Tool 类来管理和实现工具。
支持我们
如果您觉得这有用,请考虑通过为本仓库加星标、贡献代码或成为赞助商来支持我们。
您可以通过 La Rebelion GitHub Sponsors 了解更多支持我们的信息。此外,请我们喝杯咖啡、PayPal 捐赠以及购买 "La Rebelion" 周边商品 也是支持我们的好方法。
许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。