mcpField
N
Nest Llm Argent

Nest Llm Argent

Local
github.com/luis1232023AI & Agents0Updated 84w ago

About Nest Llm Argent

Nest Llm Argent turns stdio MCP servers into HTTP APIs for developers integrating multiple MCP servers with existing web services. It provides endpoints for listing and calling tools, resources, and prompts, as well as an LLM call endpoint.

Key features

  1. 01Convert stdio MCP servers to HTTP APIs
  2. 02Configure multiple MCP servers centrally
  3. 03List tools and resources
  4. 04List prompts and call tools
  5. 05Expose an LLM call endpoint

Use cases

  1. 01Integrate MCP capabilities into a NestJS service
  2. 02Retrieve tool definitions and invoke tools over HTTP
  3. 03Manage multiple MCP servers in one place
  4. 04Call an LLM through an API

MCP support

The project configures multiple stdio MCP servers and exposes their tools, resources, and prompts through HTTP APIs.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

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

具体架构图如下: README image

  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天时间,完成了这个项目,时间有点紧张,后续有时间再完善。

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.