mcpField
N
Nest Llm Argent

Nest Llm Argent

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

关于 Nest Llm Argent

Nest Llm Argent 将 stdio MCP 服务转换为 HTTP API,面向需要把多个 MCP 服务集成到现有 Web 服务并统一管理的开发者。它还提供工具、资源、提示词查询与调用接口,以及 LLM 调用入口。

主要功能

  1. 01stdio MCP 服务转为 HTTP API
  2. 02统一配置多个 MCP 服务
  3. 03提供工具与资源查询接口
  4. 04提供提示词和工具调用接口
  5. 05提供 LLM 调用接口

适用场景

  1. 01将 MCP 能力集成到 NestJS 服务
  2. 02通过 HTTP 获取工具定义并调用
  3. 03集中管理多个 MCP 服务
  4. 04通过接口调用 LLM

MCP 相关

项目通过配置管理多个 stdio MCP 服务,并将其工具、资源和提示词等能力以 HTTP API 对外提供。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。