MCP Server

MCP Server

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

Category
访问服务器

README

mcp-server

[!IMPORTANT] 为了更好地组织 AI 开发者的工具和服务,我们已将项目迁移至 Agentico。我们鼓励您使用新的包,并关注 Agentico 的 GitHub 仓库上的更新。

MCP Server 是一个简单的服务器,它实现了模型上下文协议 (MCP),以提供更简单的 API 来与模型上下文协议交互。

为什么使用这个服务器?

在 "La Rebelion" 中,我们正在开发一套工具和服务,以简化流程和工作流程,从而提供更好、更高效的开发者体验。 这个服务器是这套工具的一部分。

MCP 非常棒,但入门可能会有些令人困惑。 我们创建了一个 外观模式 来简化创建实现模型上下文协议的服务器的过程。 该模式很简单,您只需要使用自己的逻辑创建 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
# 魔法就在这里
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: "回显输入的消息",
    schema: { // 工具所需的参数的 schema
      type: "object",
      properties: {
        message: { type: "string" },
      },
      required: ["message"],
    },
  };

  /**
   * 您的逻辑在这里,实现 execute 方法来定义工具的行为
   * @param input 输入消息 - 使用 schema 来定义输入类型
   * @returns 在示例中,我们正在回显消息
   */
  async execute(input: any): Promise<any> {
    // 这是一个简单的 echo 工具演示,没什么特别的,只是回显消息
    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() {
  // 注册工具
  myServer.registerTool("echo", EchoTool);
  await myServer.run();
}

main().catch((error) => {
  console.error("Server error:", error);
  process.exit(1);
});

就这样! 您已经创建了一个实现模型上下文协议的简单服务器。 使用 Claude Desktop 或任何其他支持 MCP 的客户端对其进行测试。

使用以下命令构建项目:

yarn build

您可以启动服务器,但它还没有任何逻辑,您可以使用以下命令对其进行测试:

yarn start
# 或
node build/index.js

就这样,开始创建您自己的工具和服务,以简化您的工作流程和流程。

加油,反叛者们! ✊🏻

UML 图

UML 图

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

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

支持我们

如果您觉得这很有用,请考虑通过为该存储库加星标、为项目做出贡献或成为赞助商来支持我们。

您可以在 La Rebelion GitHub Sponsors 上找到有关如何支持我们的更多信息。 此外,请我们喝咖啡PayPal 都是支持我们的好方法,或者购买 "La Rebelion" 周边商品

许可证

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选