返回市场
螺旋-MCP

螺旋-MCP

作者:jxnl17 星标更新:2025-04-30

项目介绍

Spiral MCP 服务器

这是一个使用Python实现的Spiral API的模型上下文协议(MCP)服务器。它提供了一个与Spiral语言模型交互的标准接口。

安装

mcp install src/server.py --name "spiral-writing-tool" --with pydantic --with requests --with beautifulsoup4 --with httpx

配置

  1. 创建并激活虚拟环境:
python3 -m venv venv
source venv/bin/activate  # 在Windows上使用 `venv\Scripts\activate`
  1. 安装依赖项:
uv pip install -r requirements.txt
  1. 在根目录下创建一个.env文件,并添加您的Spiral API密钥:
SPIRAL_API_KEY=your_api_key_here

您可以在 https://app.spiral.computer/api 获取API密钥。

运行服务器

启动服务器:

python src/server.py

默认情况下,服务器将在端口3000上运行。您可以通过设置PORT环境变量来更改此端口。

测试工具

要直接测试MCP工具:

python src/test_tools.py

这将运行所有可用工具的测试以验证其功能。

MCP工具

服务器实现了四个强大的MCP工具:

list_models

列出所有可用的Spiral模型及其功能和元数据。

示例响应:

{
    "models": [
        {
            "id": "model-id",
            "name": "model-name",
            "description": "模型描述",
            "input_format": "文本",
            "output_format": "文本",
            "capabilities": {
                "completion": true
            }
        }
    ]
}

generate

使用指定的Spiral模型生成文本。

参数:

  • model: 要使用的Spiral模型的ID或别名
  • prompt: 用于生成的输入文本

示例:

{
    "model": "model_id_or_slug",
    "prompt": "您的输入文本"
}

generate_from_file

使用Spiral模型从文件中生成文本。这对于处理较大的文档或保持一致的格式非常有用。

参数:

  • model: 要使用的Spiral模型的ID或别名
  • file_path: 用作输入的文件路径

示例:

{
    "model": "model_id_or_slug",
    "file_path": "path/to/your/input.txt"
}

generate_from_url

使用Spiral模型从URL生成文本。此工具可以自动从网页中提取文章内容。

参数:

  • model: 要使用的Spiral模型的ID或别名
  • url: 要获取内容的URL
  • extract_article: 是否提取文章内容还是使用完整的HTML(默认:true)

示例:

{
    "model": "model_id_or_slug",
    "url": "https://example.com/article",
    "extract_article": true
}

错误处理

服务器处理各种错误情况,包括:

  • 无效的API密钥
  • 模型未找到
  • 输入过长
  • 超出速率限制
  • URL抓取失败
  • 文件读取错误
  • 服务器错误
  • 请求超时

每个错误都会返回一个清晰的错误消息,帮助诊断问题。

环境变量

  • SPIRAL_API_KEY: 您的Spiral API密钥(必需)
  • PORT: 服务器端口(可选,默认为3000)
  • TIMEOUT: 请求超时时间(秒)(可选,默认为30)

特性

  • 强大的错误处理:所有操作的全面错误处理和日志记录
  • 文章提取:智能地从网页中提取文章内容
  • 灵活的输入源:支持文本、文件和URL作为输入
  • 异步操作:所有操作都是异步的,以提高性能
  • 类型安全:对所有参数进行完整的Pydantic类型验证
  • 日志记录:详细的调试日志,便于故障排除