openapi-mcp-server

openapi-mcp-server

site icon
2025.03.28 0
JavaScriptAPI 工具管理MCP 协议实现开发效率
openapi-mcp-server 是一个基于 Model Context Protocol (MCP) 的服务器,为 Letta API 提供接口服务。它允许开发者通过 MCP 协议与 API 进行交互,支持多种工具的管理和调用,适用于需要高效管理和调用 API 工具的开发场景。
View on GitHub

Overview

基本能力

产品定位

openapi-mcp-server 是一个基于 Model Context Protocol (MCP) 的服务器,为 Letta API 提供接口服务。它允许开发者通过 MCP 协议与 API 进行交互,支持多种工具的管理和调用。

核心功能

  • 提供 MCP 接口服务
  • 支持多种工具的管理(创建、删除、修改、查询等)
  • 支持 Composio 应用和动作的管理
  • 支持 MCP 服务器的管理
  • 支持数据源的管理
  • 支持代理的管理和操作
  • 支持组和身份的管理
  • 提供健康检查和沙箱配置功能

适用场景

  • 需要高效管理和调用 API 工具的开发场景
  • 需要与 Letta API 集成的应用开发
  • 需要实现 MCP 协议的服务端

工具列表

  1. delete_tool:按名称删除工具
  2. retrieve_tool:按 ID 获取工具
  3. modify_tool:更新现有工具
  4. list_tools:获取所有可用工具的列表
  5. create_tool:创建新工具
  6. upsert_tool:创建或更新工具
  7. add_base_tools:更新基础工具
  8. run_tool_from_source:从源代码构建并运行工具
  9. list_composio_apps:获取所有 Composio 应用的列表
  10. list_composio_actions_by_app:获取特定应用的所有 Composio 动作
  11. add_composio_tool:按动作名称添加新的 Composio 工具
  12. list_mcp_servers:获取所有配置的 MCP 服务器
  13. add_mcp_server:向 Letta MCP 服务器配置添加新的 MCP 服务器
  14. list_mcp_tools_by_server:获取特定 MCP 服务器的所有工具
  15. add_mcp_tool:将新的 MCP 工具注册为 Letta 服务器
  16. delete_mcp_server:从 Letta MCP 服务器配置中删除 MCP 服务器

常见问题解答

  • 如何配置服务器?通过编辑 .env 文件设置环境变量
  • 如何运行服务器?使用 npm startnpm run start:ts 命令
  • 如何构建 TypeScript 版本?使用 npm run build 命令

使用教程

使用依赖

  1. 安装依赖:
npm install
  1. 创建 .env 文件:
cp .env.example .env
  1. 编辑 .env 文件,添加 API 配置和授权详细信息。

安装教程

  1. 运行 JavaScript 版本:
npm start
  1. 或运行 TypeScript 版本(实时编译):
npm run start:ts
  1. 构建 TypeScript 版本:
npm run build
cd dist
node server.js

调试方式

  1. .env 文件中设置 DEBUG=true 启用调试日志
  2. 使用 npm startnpm run start:ts 运行服务器
  3. 检查控制台输出以获取调试信息

连接示例

import { MCP } from "claude-js";
import { createStdio } from "claude-js/mcp";

// 创建 stdin/stdout 传输
const transport = createStdio({ command: "node path/to/server.js" });

// 连接到 MCP 服务器
const mcp = new MCP({ transport });
await mcp.connect();

// 列出可用工具
const { tools } = await mcp.listTools();
console.log("Available tools:", tools);

// 调用工具
const result = await mcp.callTool({
    id: "TOOL-ID",
    arguments: { param1: "value1" }
});
console.log("Tool result:", result);

许可证

该项目遵循 MIT 开源许可条款。