MCP服务器

@la-rebelion/mcp-server
0 Stars 136 次浏览 la-rebelion 更新于 2026-08-23

MCP服务器通过提供用户友好的API来创建自定义工具和高效管理服务器工作流,从而简化了模型上下文协议的实现。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

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 图

UML Diagram

  • MCPServer: 注册将被服务器使用的工具。
  • Tool: 所有工具的基类,包含通用属性和方法。execute 方法是在调用工具时被调用的方法,在这里实现你的逻辑。
  • EchoTool: 特定工具的实现,扩展 Tool 类并定义其自己的模式和初始化逻辑。
  • EchoSchema: 定义 EchoTool 输入的结构。
  • EchoInput: 基于模式的输入类型定义。

这种模式允许以灵活且可扩展的方式使用 MCPServer 和 Tool 类来管理和实现工具。

支持我们

如果您觉得这有用,请考虑通过为本仓库加星标、贡献代码或成为赞助商来支持我们。

您可以通过 La Rebelion GitHub Sponsors 了解更多支持我们的信息。此外,请我们喝杯咖啡PayPal 捐赠以及购买 "La Rebelion" 周边商品 也是支持我们的好方法。

许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

相关 MCP 服务