🚀 外包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客戶端的配置文件位置。
- 檢查配置中的環境變量是否格式正確。
🤝 貢獻
歡迎貢獻代碼!請隨時提交拉取請求。