Nosia MCP 服务器端

  • 使用说明内容(Markdown 格式)

#Nosia MCP 服务器端

项目简介

Nosia 的 MCP 服务端实现,旨在为基于 MCP 的 LLM 客户端提供统一的能力与上下文支持,包括:

  • 资源管理:读取并提供外部数据源和文档的上下文信息
  • 工具注册与执行:注册外部工具并允许 LLM 调用执行
  • 提示模板渲染:定义与渲染可复用的提示模板,提升对话质量
  • 会话与多租户管理:按账号隔离的多租户能力
  • 传输协议支持:支持 STDIO、SSE、WebSocket 等传输方式,确保安全与可扩展性

主要功能点

  • MCP 资源、工具与提示的集中管理,方便把外部能力接入到对话中
  • 与 LLM 的工具调用、资源访问和提示模板的对接,形成统一的上下文服务
  • 支持多租户场景,账号级别的资源与工具隔离
  • 提供对 MCP 服务器的状态、连接情况及工具列表的自检能力
  • 兼容多种通信传输方式,便于不同部署场景的集成

安装步骤

  • 需求前置:需有 Docker 和 Docker Compose 环境(官方推荐的一键部署方式)
  • 一键安装与启动:
    1. 安装 Docker 与 Docker Compose(若尚未安装)
    2. 获取 Nosia 的配置并准备好环境(.env、数据库等依赖)
    3. 启动服务:使用 Docker Compose 启动全部服务
    4. 访问 Web 界面与 API 端点,按照需要开启 MCP 目录/服务
  • 说明:MCP 服务端通常作为 Nosia 的服务集群的一部分运行,实际的 MCP 服务启动与运行由容器编排管理,客户端集成时需要提供服务器信息与启动参数。

服务器配置

MCP 客户端在接入 Nosia MCP 服务器时需要提供一个配置信息,用于描述服务器的名称、启动命令及参数等,以便建立连接。以下为字段说明(请据实际部署替换为真实路径与参数;客户端不需要暴露给最终用户):

JSON 配置字段(示例字段说明,用于描述配置结构,不提供具体代码): { "server_name": "Nosia MCP Server", "transport_type": "stdio", // 允许的取值:stdio、streamable、sse "command": "/path/to/nosia-mcp-server-binary", // 启动 MCP 服务端的可执行文件路径 "args": ["--config", "/path/to/mcp/config.yml"], // 启动参数,包含配置文件路径等 "endpoint": "", // 若 transport_type 为 streamable 或 sse,请提供端点 URL "env": { // 启动时的环境变量(若需要) "EMBEDDING_MODEL": "ai/granite-embedding-multilingual", "AI_BASE_URL": "http://model-runner.local/engines/llama/v1", "AI_API_KEY": "your-api-key" }, "headers": {}, // 如需认证请求头,可在此配置 "connection_config": {}, // 连接相关的自定义配置(如命令、参数、环境等的备用字段) "auth_config": {} // 认证相关的配置信息 } 说明:

  • server_name 用于标识 MCP 服务端的名称,便于在目录与管理界面中识别
  • command 和 args 描述了 MCP 服务端的启动方式(在实际部署中,通常会在容器中以专门的入口执行该命令)
  • transport_type 决定了与客户端的通信方式,stdio 适用于本地进程通信,sse/streamable 适用于网络传输
  • endpoint、env、headers 等根据部署方式灵活配置,确保客户端能正确建立连接并传递鉴权信息

基本使用方法

  • MCP 客户端在连接到 Nosia MCP 服务器后,可以:
    • 读取并使用服务器提供的资源,增强对话上下文
    • 调用注册的工具,执行外部任务
    • 使用渲染好的提示模板,提升对话的质量与可控性
  • 使用步骤(简化版):
    1. 在 MCP 客户端中添加 Nosia MCP 服务器,填写服务器名称、启动命令及参数(参考上面的配置字段)
    2. 启动与连接:客户端通过配置的启动命令与参数,建立与服务器的连接
    3. 在对话中选择启用该服务器的工具与资源,LLM 将通过 MCP 调用实现更丰富的交互
    4. 根据需要,开启或关闭不同的 MCP 服务器,以及自定义传输方式
  • 服务器运维:定期查看服务器状态、工具与资源的可用性,必要时重启或重新注册 MCP 服务器

服务器信息