模型上下文协议服务器

一个作为Wippy模块运行的模型上下文协议服务器,通过stdio或HTTP与LLM客户端通信,并暴露工具和提示。

  • by wippy-projects
  • Lua
  • 本地部署
  • 更新于
在 GitHub 查看 wippy-projects/mcp-server

使用说明

用于Wippy的MCP服务器

A. 模型上下文协议 作为Wippy模块运行的服务器通过 stdio或HTTP,并向LLM客户端(Claude Desktop、MCP Inspector等)公开工具和提示。

工具和提示如下 注册表本机 --宣布为标准Wippy function.lua 带有元数据的条目 自动发现。添加工具或提示只需要一个YAML条目和(可选)Lua处理程序。没有服务器 代码更改。

快速开始

标准运输

wippy run -s -x mcp:server

这 -s (无声)旗 必需的 --它抑制运行时日志,这样它们就不会损坏JSON-RPC流。

MCP检验员测试:

npx @modelcontextprotocol/inspector wippy run -s -x mcp:server

HTTP传输

将MCP服务器添加为依赖项,并将其连接到HTTP路由器:

- name: dep.mcp
  kind: ns.dependency
  component: butschster/mcp-server
  version: "*"
  parameters:
    - name: router
      value: app:api

MCP端点在以下位置注册 /mcp 在您的路由器上(例如。, /api/mcp 如果你的路由器有 prefix: /api).

看 HTTP传输文档 用于会话生命周期和curl示例。

添加工具

创建Lua处理程序并将其注册到 _index.yaml:

-- tools/greet.lua
local function call(arguments)
    local name = arguments.name or "World"
    return "Hello, " .. name .. "!"
end

return { call = call }
- name: greet
  kind: function.lua
  source: file://tools/greet.lua
  method: call
  meta:
    mcp.tool: true
    mcp.name: "greet"
    mcp.description: "Greet someone by name"
    mcp.inputSchema:
      type: "object"
      properties:
        name:
          type: "string"
          description: "Name to greet"
      required:
        - "name"

看 工具文档 用于元数据参考、注释、错误处理和使用Wippy模块。

添加提示

提示支持三种模式:静态(YAML消息)、动态(Lua处理程序)和模板继承。

- name: greeting
  kind: function.lua
  source: file://prompts/static.lua
  method: get
  meta:
    mcp.prompt: true
    mcp.prompt.name: "greeting"
    mcp.prompt.description: "Generate a personalized greeting"
    mcp.prompt.arguments:
      - name: "name"
        description: "Name of the person to greet"
        required: true
    mcp.prompt.messages:
      - role: "user"
        content: "Please greet {{name}}."

看 提示文档 用于动态提示、模板继承和元数据引用。

支持的MCP方法

方法 类型 描述
initialize request 握手,返回服务器功能
notifications/initialized 通知 客户端确认初始化
ping 请求 健康检查,返回 {}
tools/list request 列出所有发现的工具
tools/call request 按名称调用工具
prompts/list request 列出所有发现的提示
prompts/get request 按名称获取提示消息

文档

文档 描述
标准运输 通过stdio、Claude Desktop配置运行
HTTP传输 会话生命周期、主机应用程序设置、curl示例
工具 创建工具、元数据参考、错误处理
提示 静态、动态和模板提示
范围筛选 多端点可见性控制
建筑 模块设计、调度链、依赖图

例子

示例 说明
基本工具 带有三个简单工具的最小应用程序
HTTP应用程序 带MCP端点的HTTP服务器
多端点 具有范围过滤的管理工具与公共工具
提示应用程序 静态、动态和模板提示

协议细节

  • MCP版本: 2025-06-18
  • 运输:stdio(换行符分隔的JSON),HTTP(流式HTTP)
  • 能力: tools 和 prompts (两者皆有 listChanged: false)