猫事实MCP服务器

一个基于TypeScript构建的MCP服务器,提供从catfact.ninja API获取猫事实的功能,支持多种传输选项和配置管理。

  • by danny-hunt
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 danny-hunt/cat-facts

使用说明

Cat Facts MCP服务器

一个模型上下文协议(MCP)服务器,提供对猫事实的访问 印度猫 API使用TypeScript构建并遵循现代服务器架构模式。

特性

  • 获取一个随机的猫事实
  • 获取多个随机的猫事实
  • 事实的可选长度限制
  • 使用官方MCP SDK构建
  • 完全类型安全的TypeScript支持
  • 具有独立关注点的模块化架构
  • 多种传输选项(STDIO和HTTP)
  • 全面的配置管理
  • 带参数解析的命令行界面

安装

  1. 安装依赖项:
npm install
  1. 构建TypeScript代码:
npm run build

用法

运行服务器

启动MCP服务器:

npm start

或者用于自动重启的开发:

npm run dev

命令行选项

node dist/index.js [options]

Options:
  --transport, -t <type>    Transport type: stdio or http (default: stdio)
  --port, -p <number>       Port for HTTP transport (default: 3000)
  --host, -h <string>       Host for HTTP transport (default: localhost)
  --help                    Show help message

可用工具

服务器提供两个工具:

1. get_cat_fact

检索一个随机的猫事实。

参数:

  • max_length (可选):猫事实的最大长度(1-500个字符)

例子:

{
  "name": "get_cat_fact",
  "arguments": {
    "max_length": 100
  }
}

2. get_cat_facts

检索多个随机的猫事实。

参数:

  • limit (可选):要检索的猫事实数(1-100,默认值:5)
  • max_length (可选):每个猫事实的最大长度(1-500个字符)

例子:

{
  "name": "get_cat_facts",
  "arguments": {
    "limit": 3,
    "max_length": 150
  }
}

MCP客户端配置

要将此服务器与MCP客户端一起使用,请将其添加到您的客户端配置中:

{
  "mcpServers": {
    "cat-facts": {
      "command": "node",
      "args": ["/path/to/this/directory/dist/index.js"]
    }
  }
}

环境变量

服务器支持各种环境变量进行配置:

  • MCP_TRANSPORT:传输类型(stdio|http)
  • MCP_PORT:HTTP传输端口
  • MCP_HOST:HTTP传输主机
  • MCP_SERVER_NAME:服务器名称
  • MCP_SERVER_VERSION:服务器版本
  • CAT_FACTS_API_URL:Cat事实API基础URL
  • DEFAULT_LIMIT:多个事实的默认限制
  • MAX_LIMIT:多个事实的最大限制
  • MIN_LENGTH:最小事实长度
  • MAX_LENGTH:最大事实长度

api参考

此服务器使用 印度猫 API

  • 单一事实: GET https://catfact.ninja/fact
  • 多个事实: GET https://catfact.ninja/facts?limit={number}
  • 长度限制:添加 ?max_length={number} 到任一端点

错误处理

该服务器包括全面的错误处理功能,用于:

  • 网络连接问题
  • API速率限制
  • 无效参数
  • 服务器错误

许可证

麻省理工学院