这是一个使用Python实现的Spiral API的模型上下文协议(MCP)服务器。它提供了一个与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 # 在Windows上使用 `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工具:
列出所有可用的Spiral模型及其功能和元数据。
示例响应:
{
"models": [
{
"id": "model-id",
"name": "model-name",
"description": "模型描述",
"input_format": "文本",
"output_format": "文本",
"capabilities": {
"completion": true
}
}
]
}
使用指定的Spiral模型生成文本。
参数:
model: 要使用的Spiral模型的ID或别名prompt: 用于生成的输入文本示例:
{
"model": "model_id_or_slug",
"prompt": "您的输入文本"
}
使用Spiral模型从文件中生成文本。这对于处理较大的文档或保持一致的格式非常有用。
参数:
model: 要使用的Spiral模型的ID或别名file_path: 用作输入的文件路径示例:
{
"model": "model_id_or_slug",
"file_path": "path/to/your/input.txt"
}
使用Spiral模型从URL生成文本。此工具可以自动从网页中提取文章内容。
参数:
model: 要使用的Spiral模型的ID或别名url: 要获取内容的URLextract_article: 是否提取文章内容还是使用完整的HTML(默认:true)示例:
{
"model": "model_id_or_slug",
"url": "https://example.com/article",
"extract_article": true
}
服务器处理各种错误情况,包括:
每个错误都会返回一个清晰的错误消息,帮助诊断问题。
SPIRAL_API_KEY: 您的Spiral API密钥(必需)PORT: 服务器端口(可选,默认为3000)TIMEOUT: 请求超时时间(秒)(可选,默认为30)