树形结构管理API

一个用于管理层次树形数据结构的REST API,提供全面的CRUD操作并支持Model Context Protocol (MCP)集成。

  • by ausgomez
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 ausgomez/awesome-tree-api-mcp

使用说明

描述

一个可用于管理分层树数据结构的生产型REST API,具有全面的CRUD操作和展示模型上下文协议(MCP)集成功能。

特性

  • ✅ 创建和管理具有父子关系的树节点
  • ✅ RESTful API端点
  • ✅ 输入验证和错误处理
  • ✅ PostgreSQL数据库与Docker
  • ✅ 交互式API文档(Swagger)
  • ✅ 全面的测试覆盖率
  • ✅ TypeScript用于类型安全

先决条件

请确保您已安装以下内容:

  • Node.js(v18+)
  • Docker 桌面版

快速开始

  1. 再进行
     pnpm install
    
  2. 设置环境变量 在项目根目录中创建.env文件:
    cp .env.example .env
    
    默认值开箱即用,无需更改!
  3. 启动数据库
    docker compose up -d
    
    这将在Docker容器中启动PostgreSQL。
  4. 启动应用程序
    pnpm run start:dev
    
    API现在运行于 http://localhost:3000/api

API终点

您可以通过访问找到端点的完整列表 http://localhost:3000/api/docs

测试API

您可以使用curl或Postman等其他工具尝试端点

获取所有树木

curl http://localhost:3000/api/tree

创建根节点

curl -X POST http://localhost:3000/api/tree \
-H "Content-Type: application/json" \
-d '{"label": "root"}'

创建子节点

curl -X POST http://localhost:3000/api/tree \
-H "Content-Type: application/json" \
-d '{"label": "bear", "parentId": 1}'

删除节点

curl -X DELETE http://localhost:3000/api/tree/{id}

MCP服务器

我实现了一个小型MCP服务器演示,它模拟了与RESTapi端点相同的功能。 这些以工具的形式出现,它们允许您:

  • 查找所有树木
  • 创建新节点
  • 按id查找节点
  • 按id删除节点

要使用此功能,您需要首先运行服务器(按照上述步骤)。 然后,在服务器运行时,打开一个新的控制台并运行以下命令以打开使用MCP检查器:

npx @modelcontextprotocol/inspector@0.16.2

然后会出现一个浏览器窗口,请确保您已选择以下选项: .

然后单击“连接”

然后在“工具”选项卡上单击“列出工具”,列出您可以选择的所有可能的工具。 .

在那里,你可以玩这些工具。

通常,这些工具将由像Claude Desktop等MCP客户端运行。