🚀 外包MCP
这是一个MCP(模型上下文协议)服务器,它使AI应用程序能够通过统一接口将任务外包给各种模型提供商。
该服务器与任何支持模型上下文协议的AI工具兼容,包括Claude Desktop、Cline和其他支持MCP的应用程序。它使用 FastMCP 实现MCP服务器,并使用 Agno 提供AI代理功能。
✨ 主要特性
- 🤖 多提供商支持:通过单一接口访问20多家AI提供商。
- 📝 文本生成:使用来自OpenAI、Anthropic、Google等的模型生成文本。
- 🎨 图像生成:使用DALL-E 3和DALL-E 2创建图像。
- 🔧 简单API:仅需三个参数的一致接口:提供商、模型和提示。
- 🔑 灵活认证:仅为您使用的提供商配置API密钥。
📦 安装指南
将以下配置添加到您的MCP客户端。有关具体配置细节,请参考您的MCP客户端文档。
{
"mcpServers": {
"outsource-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/gwbischof/outsource-mcp.git", "outsource-mcp"],
"env": {
"OPENAI_API_KEY": "your-openai-key",
"ANTHROPIC_API_KEY": "your-anthropic-key",
"GOOGLE_API_KEY": "your-google-key",
"GROQ_API_KEY": "your-groq-key",
"DEEPSEEK_API_KEY": "your-deepseek-key",
"XAI_API_KEY": "your-xai-key",
"PERPLEXITY_API_KEY": "your-perplexity-key",
"COHERE_API_KEY": "your-cohere-key",
"FIREWORKS_API_KEY": "your-fireworks-key",
"HUGGINGFACE_API_KEY": "your-huggingface-key",
"MISTRAL_API_KEY": "your-mistral-key",
"NVIDIA_API_KEY": "your-nvidia-key",
"OLLAMA_HOST": "http://localhost:11434",
"OPENROUTER_API_KEY": "your-openrouter-key",
"TOGETHER_API_KEY": "your-together-key",
"CEREBRAS_API_KEY": "your-cerebras-key",
"DEEPINFRA_API_KEY": "your-deepinfra-key",
"SAMBANOVA_API_KEY": "your-sambanova-key"
}
}
}
}
注意:环境变量是可选的。仅包含您要使用的提供商的API密钥。
🚀 快速开始
安装和配置完成后,您可以在MCP客户端中使用这些工具:
- 生成文本:使用
outsource_text
工具,提供商为 "openai",模型为 "gpt-4o-mini",提示为 "Write a haiku about coding"。
- 生成图像:使用
outsource_image
工具,提供商为 "openai",模型为 "dall-e-3",提示为 "A futuristic city skyline at sunset"。
💻 使用示例
基础用法
文本生成
# 使用OpenAI
provider: openai
model: gpt-4o-mini
prompt: Write a haiku about coding
# 使用Anthropic
provider: anthropic
model: claude-3-5-sonnet-20241022
prompt: Explain quantum computing in simple terms
# 使用Google
provider: google
model: gemini-2.0-flash-exp
prompt: Create a recipe for chocolate chip cookies
图像生成
# 使用DALL-E 3
provider: openai
model: dall-e-3
prompt: A serene Japanese garden with cherry blossoms
# 使用DALL-E 2
provider: openai
model: dall-e-2
prompt: A futuristic cityscape at sunset
📚 详细文档
工具
outsource_text
创建一个具有指定提供商和模型的Agno代理,以生成文本响应。
参数:
provider
:提供商名称(例如,"openai"、"anthropic"、"google"、"groq"等)
model
:模型名称(例如,"gpt-4o"、"claude-3-5-sonnet-20241022"、"gemini-2.0-flash-exp")
prompt
:要发送给模型的文本提示
outsource_image
使用AI模型生成图像。
参数:
provider
:提供商名称(目前仅支持 "openai")
model
:模型名称("dall-e-3" 或 "dall-e-2")
prompt
:图像生成提示
返回生成图像的URL。
注意:目前仅OpenAI模型(DALL-E 2和DALL-E 3)支持图像生成。其他提供商仅支持文本生成。
支持的提供商
以下是支持的提供商。使用括号中的提供商名称作为 provider
参数:
核心提供商
- OpenAI (
openai
) - GPT-4、GPT-3.5、DALL-E等 | 模型
- Anthropic (
anthropic
) - Claude 3.5、Claude 3等 | 模型
- Google (
google
) - Gemini Pro、Gemini Flash等 | 模型
- Groq (
groq
) - Llama 3、Mixtral等 | 模型
- DeepSeek (
deepseek
) - DeepSeek Chat & Coder | 模型
- xAI (
xai
) - Grok模型 | 模型
- Perplexity (
perplexity
) - Sonar模型 | 模型
其他提供商
- Cohere (
cohere
) - Command模型 | 模型
- Mistral AI (
mistral
) - Mistral Large、Medium、Small | 模型
- NVIDIA (
nvidia
) - 各种模型 | 模型
- HuggingFace (
huggingface
) - 开源模型 | 模型
- Ollama (
ollama
) - 本地模型 | 模型
- Fireworks AI (
fireworks
) - 快速推理 | 模型
- OpenRouter (
openrouter
) - 多提供商访问 | 模型
- Together AI (
together
) - 开源模型 | 模型
- Cerebras (
cerebras
) - 快速推理 | 模型
- DeepInfra (
deepinfra
) - 优化模型 | 模型
- SambaNova (
sambanova
) - 企业模型 | 模型
企业提供商
- AWS Bedrock (
aws
或 bedrock
) - AWS托管的模型 | 模型
- Azure AI (
azure
) - Azure托管的模型 | 模型
- IBM WatsonX (
ibm
或 watsonx
) - IBM模型 | 模型
- LiteLLM (
litellm
) - 通用接口 | 模型
- Vercel v0 (
vercel
或 v0
) - Vercel AI | 模型
- Meta Llama (
meta
) - 直接访问Meta模型 | 模型
环境变量
每个提供商都需要相应的API密钥:
提供商 |
环境变量 |
示例 |
OpenAI |
OPENAI_API_KEY |
sk-... |
Anthropic |
ANTHROPIC_API_KEY |
sk-ant-... |
Google |
GOOGLE_API_KEY |
AIza... |
Groq |
GROQ_API_KEY |
gsk_... |
DeepSeek |
DEEPSEEK_API_KEY |
sk-... |
xAI |
XAI_API_KEY |
xai-... |
Perplexity |
PERPLEXITY_API_KEY |
pplx-... |
Cohere |
COHERE_API_KEY |
... |
Fireworks |
FIREWORKS_API_KEY |
... |
HuggingFace |
HUGGINGFACE_API_KEY |
hf_... |
Mistral |
MISTRAL_API_KEY |
... |
NVIDIA |
NVIDIA_API_KEY |
nvapi-... |
Ollama |
OLLAMA_HOST |
http://localhost:11434 |
OpenRouter |
OPENROUTER_API_KEY |
... |
Together |
TOGETHER_API_KEY |
... |
Cerebras |
CEREBRAS_API_KEY |
... |
DeepInfra |
DEEPINFRA_API_KEY |
... |
SambaNova |
SAMBANOVA_API_KEY |
... |
AWS Bedrock |
AWS凭证 |
通过AWS CLI/SDK |
Azure AI |
Azure凭证 |
通过Azure CLI/SDK |
IBM WatsonX |
IBM_WATSONX_API_KEY |
... |
Meta Llama |
LLAMA_API_KEY |
... |
注意:仅为您计划使用的提供商配置API密钥。
🔧 技术细节
开发
前提条件
安装设置
git clone https://github.com/gwbischof/outsource-mcp.git
cd outsource-mcp
uv sync
使用MCP Inspector进行测试
MCP Inspector允许您交互式地测试服务器:
mcp dev server.py
运行测试
测试套件包括集成测试,用于验证文本和图像生成:
uv run pytest
注意:集成测试需要在您的环境中设置API密钥。
故障排除
常见问题
- “Error: Unknown provider”
- 检查您是否使用了上述列表中支持的提供商名称。
- 提供商名称不区分大小写。
- “Error: OpenAI API error”
- 验证您的API密钥是否已正确设置在环境变量中。
- 检查您的API密钥是否有权限访问请求的模型。
- 确保您有足够的信用额度/配额。
- “Error: No image was generated”
- 如果图像生成请求失败,可能会出现此问题。
- 尝试使用更简单的提示或不同的模型(dall-e-2 与 dall-e-3)。
- 环境变量不起作用
- 确保在更新配置后重启您的MCP客户端。
- 验证您特定MCP客户端的配置文件位置。
- 检查配置中的环境变量是否格式正确。
🤝 贡献
欢迎贡献代码!请随时提交拉取请求。