mcpField
N
Nest Llm Aigent

Nest Llm Aigent

本地服务
github.com/luis1232023AI 与智能体084 周前更新

关于 Nest Llm Aigent

Nest Llm Aigent 将配置的 stdio MCP 服务转接为 HTTP API,便于集成到现有 Web 服务。它还提供工具、资源和提示词的查询与调用接口,以及 LLM 调用接口。

主要功能

  1. 01配置多个 stdio MCP 服务
  2. 02通过 HTTP 查询工具、资源和提示词
  3. 03通过 HTTP 调用 MCP 工具
  4. 04提供 OpenAI function call 定义
  5. 05LLM 调用接口

适用场景

  1. 01将 MCP 服务集成到 Web 服务
  2. 02集中管理多个 MCP 服务
  3. 03通过 HTTP API 调用 MCP 工具

MCP 相关

它作为配置的 stdio MCP 服务的网关,通过 HTTP 接口提供工具、资源和提示词。项目说明目前支持 stdio 服务,不支持 SSE 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README
nest-llm-aigent
  1. 背景
    随着 MCP(Model Context Protocol)协议的推出,统一协议的同时,为大模型扩展程序(MCP server)能一次开发,处处运行提供了条件。 但是由于MCP天然侧重CS架构,导致我们很难方便的集成到公司的现有业务中,在这个背景下我写了这个转发方案,不仅解决了这个问题,从可以把这个项目理解为一个ai agent,可以配置他的多个mcp server,统一对外提供大模型的http服务。

具体架构图如下: README 配图

  1. 目标
  • 轻松集成:适配层可以快速对接现有的 Web 服务(如基于 NestJS 构建的服务)。
  • 无缝扩展:通过私有 NPM 包的形式,实现 MCP Server 的快速集成与统一管理,保持 MCP Server 的高度可移植性。
  • 便捷部署:通过私有 NPM 包,实现 MCP Server 的集中管理和版本控制,无缝集成到现有的发布流程中,方便部署。
  • 大模型支持情况:几乎支持所有的大模型调用。
  1. 接口定义
    为了满足不同场景下的功能需求,设计了以下标准化的接口:
功能HTTP 方法路径描述
获取所有工具POST/api/mcp/tools获取所有工具列表
获取function calls工具POST/api/mcp/functools获取openai function call 定义
调用 MCP 工具POST/api/mcp/tools/call调用 MCP 工具
获取资源列表POST/api/mcp/resources获取所有资源
获取所有提示POST/api/mcp/prompts获取所有提示
获取所有工具、资源、提示词POST/api/mcp/all返回格式:{tools:[],resources:[],prompts:[]}
调用llm接口POST/api/mcp/agent输入格式:messages:["role":"user","content":"你的问题"],返回messages
  1. 示例
    .....

  2. MCP Servers 部署方式
    推荐将 MCP Server 集成部署,以提高灵活性与统一管理能力。建议以下方案:

  • 私有 NPM 包:将 MCP Server 打包为 NPM 包,结合企业私有 NPM 仓库进行分发管理。
  • 安装与配置:通过 npm install 直接安装 MCP Server 包,并通过配置文件(如 mcp.config.json)实现快速集成。

示例配置文件 mcp.config.json:

{
  "mcpServers": {
    "server1": {
      "name": "example-server",
      "args": ["server.js"],
      "path": "./servers/server1/"
    }
  },
  "mcpClient": {
    "name": "mcp-client",
    "version": "1.0.0"
  }
}
  1. 未来
  • 目前mcp server sse协议 server只做了stdio 。
  • 请求时上下文协议及全局变量可以在接口层、mcp client层、mcp server层共享。
  • 目前支持http接口,最好未来可以把这些接口封装成一个socket,更有利于聊天场景。
  • 写完后,其实有另外一个想法,就是能不能基于mcp 原始协议,写一个公共类,对于基于类写的mcp server,编译后不仅支持mcp client的调用,也可以支持引入模块后的,函数调用。这可能是另外一个项目。
  • 大概花了1天时间,完成了这个项目,时间有点紧张,后续有时间再完善。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。