Agent Layer MCP 服务器框架

  • 项目简介
    • Agent Layer 是一个面向 MCP 的后端框架,核心职责是托管资源、注册与执行工具,以及定义并渲染可定制的 Prompt 模板,通过标准化的 JSON-RPC 风格通信向 LLM 客户端提供上下文和能力。
    • 服务器端负责会话管理、能力声明,并支持多种传输协议(如 StdIO、SSE、WebSocket),以实现安全、可扩展的上下文服务,帮助 LLM 客户端高效地访问资源与工具。
  • 主要功能点
    • 资源托管与数据访问:统一管理 Resources(如 docs、templates、visioned memory 等),提供一致的访问路径和权限控制。
    • 工具注册与执行:能够注册并暴露 Tools,LLM 客户端可通过 MCP 调用外部功能。
    • Prompt 模板渲染:提供模板渲染机制,按需渲染不同交互场景的 Prompt,支持自定义模型交互模式。
    • JSON-RPC 风格通信:与客户端以 JSON-RPC 请求/响应形式交互,便于跨语言实现与互操作性。
    • 多传输协议支持:内置对 StdIO、SSE、WebSocket 等传输方式的支持,便于在不同运行环境中接入 MCP 客户端。
    • 会话管理与能力声明:负责对会话进行跟踪,声明服务器的能力集,自动化地将 MCP 服务器配置投影到各客户端配置中。
  • 安装步骤
    • 在目标机器安装并配置 Agent Layer CLI。
    • 将仓库克隆或下载到本地,确保依赖与构建环境准备就绪。
    • 根据需要编辑 .agent-layer 配置,定义 MCP 服务器(id、transport、command、args、env 等字段)并将其投影到客户端配置。
    • 启动 MCP Prompts 服务器(如需内部提示服务器),以及其他需要的 MCP 服务。
  • 服务器配置(示例,JSON 格式) 注:以下示例用于说明 MCP 服务器配置的字段含义,具体值请以实际部署为准。 [ { "id": "internal-prompt", "name": "InternalPromptServer", "enabled": true, "transport": "stdio", "command": "internal-mcp-server", "args": ["--mode", "prompts"], "env": { "AL_TOKEN": "example-token" } }, { "id": "remote-http", "name": "RemoteHttpServer", "enabled": true, "transport": "http", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer ${API_KEY}" }, "http_transport": "sse", "env": { "API_KEY": "your-api-key" } } ] 说明:
    • server 的 id 是 MCP 服务器在客户端配置中的唯一标识符,应保持全局唯一。
    • command/args/env 用于启动本地或远端 MCP 服务器进程,客户端在连接时会根据这些字段发起请求。
    • http_transport 指定 HTTP MCP 服务器的传输模式(如 SSE、streamable)。
    • 根据需要可添加更多字段,例如 header、URL 等,以满足不同 MCP 服务器的安全与连接需求。
  • 基本使用方法
    • 启动并配置 MCP 服务器:通过 al 命令初始化并投射 MCP 服务器配置到各客户端。
    • 客户端对接:MCP 客户端使用上述配置与服务器建立连接,发出读取资源、调用工具、获取 Prompt 的请求。
    • 运行与调试:使用 al doctor、al mcp-prompts 等工具检查连接、健康状况及响应格式。
    • 安全性与扩展性:MCP 服务器端负责凭证与密钥的管理,确保令牌在环境变量中传递,避免在代码中硬编码。

服务器信息