Spiral MCP生成器
# 翻译 一个模型上下文协议服务器实现,为与Spiral的语言模型交互提供了一个标准化接口,提供了从提示、文件或网页URL生成文本的工具。
服务介绍
Spiral MCP 服务器
这是一个使用 Python 实现的 Model Context Protocol (MCP) 服务器,用于与 Spiral API 交互。它提供了一个标准化的接口来与 Spiral 的语言模型进行互动。
安装
mcp install src/server.py --name "spiral-writing-tool" --with pydantic --with requests --with beautifulsoup4 --with httpx
设置
- 创建并激活一个虚拟环境:
python3 -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- 安装依赖项:
uv pip install -r requirements.txt
- 在根目录下创建一个
.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": "Model description",
"input_format": "text",
"output_format": "text",
"capabilities": {
"completion": true
}
}
]
}
generate
使用指定的 Spiral 模型生成文本。
参数:
model: 要使用的 Spiral 模型的 ID 或 slugprompt: 作为输入的文本
示例:
{
"model": "model_id_or_slug",
"prompt": "Your input text here"
}
generate_from_file
使用 Spiral 模型从文件中读取输入来生成文本。这对于处理较大的文档或保持一致的格式非常有用。
参数:
model: 要使用的 Spiral 模型的 ID 或 slugfile_path: 用作输入的文件路径
示例:
{
"model": "model_id_or_slug",
"file_path": "path/to/your/input.txt"
}
generate_from_url
使用 Spiral 模型从 URL 中获取输入来生成文本。此工具可以自动从网页中提取文章内容。
参数:
model: 要使用的 Spiral 模型的 ID 或 slugurl: 从中获取内容的 URLextract_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 类型验证
- 日志记录:详细的调试日志记录,便于故障排除