Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/archestra-ai_archestra.json
T

1 line
68 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "archestra-ai/archestra", "files": {"platform/scripts/e2e-lite-platform.env": {"f41ed6e2f62c4034a03f4847a14f365244631687": {"t": 1785674026.98375, "n": 4259, "h": "8aa3e475f0569f36", "c": "# Platform container environment for the lite e2e harness (docker --env-file).\n#\n# Mirrors `archestra.env` in .github/values-ci.yaml (the Kind+Helm CI job).\n# Keep the two in sync: chat.spec.ts silently skips providers whose base URL\n# is not configured, so a provider added there but not here loses coverage\n# without failing anything.\n#\n# Vault settings are deliberately absent: the lite environment runs the\n# default DB-backed secrets manager; Vault specs live in the K8s CI job.\n\n# Quickstart mode: single container with internal Postgres and an embedded\n# Kind cluster (via the mounted docker socket) for the MCP orchestrator.\nARCHESTRA_QUICKSTART=true\n# No spec in this environment exercises the skill sandbox, so skip the Dagger\n# engine boot — this also lets CI run the -slim image (no dagger-engine.tar).\nARCHESTRA_CODE_RUNTIME_ENABLED=false\n\nENABLE_E2E_TEST_ENDPOINTS=true\nENABLE_TEST_MCP_SERVER=true\nARCHESTRA_ANALYTICS=disabled\n\n# LLM provider base URLs -> WireMock sidecar (per-provider path prefixes)\nARCHESTRA_OPENAI_BASE_URL=http://e2e-tests-wiremock:8080/openai/v1\nARCHESTRA_ANTHROPIC_BASE_URL=http://e2e-tests-wiremock:8080/anthropic\nARCHESTRA_GEMINI_BASE_URL=http://e2e-tests-wiremock:8080/gemini\nARCHESTRA_COHERE_BASE_URL=http://e2e-tests-wiremock:8080/cohere\nARCHESTRA_CEREBRAS_BASE_URL=http://e2e-tests-wiremock:8080/cerebras/v1\nARCHESTRA_VLLM_BASE_URL=http://e2e-tests-wiremock:8080/vllm/v1\nARCHESTRA_OLLAMA_BASE_URL=http://e2e-tests-wiremock:8080/ollama/v1\nARCHESTRA_GROQ_BASE_URL=http://e2e-tests-wiremock:8080/groq/v1\nARCHESTRA_XAI_BASE_URL=http://e2e-tests-wiremock:8080/xai/v1\nARCHESTRA_OPENROUTER_BASE_URL=http://e2e-tests-wiremock:8080/openrouter/api/v1\nARCHESTRA_ZHIPUAI_BASE_URL=http://e2e-tests-wiremock:8080/zhipuai/v4\nARCHESTRA_MISTRAL_BASE_URL=http://e2e-tests-wiremock:8080/mistral/v1\nARCHESTRA_BEDROCK_BASE_URL=http://e2e-tests-wiremock:8080/bedrock\nARCHESTRA_PERPLEXITY_BASE_URL=http://e2e-tests-wiremock:8080/perplexity/v1\nARCHESTRA_DEEPSEEK_BASE_URL=http://e2e-tests-wiremock:8080/deepseek\nARCHESTRA_GITHUB_COPILOT_BASE_URL=http://e2e-tests-wiremock:8080/github-copilot\nARCHESTRA_GITHUB_COPILOT_TOKEN_EXCHANGE_URL=http://e2e-tests-wiremock:8080/github/copilot_internal/v2/token\nARCHESTRA_MICROSOFT_365_COPILOT_BASE_URL=http://e2e-tests-wiremock:8080/microsoft-365-copilot\nARCHESTRA_MICROSOFT_365_COPILOT_AUTH_BASE_URL=http://e2e-tests-wiremock:8080/microsoft-login\nARCHESTRA_MICROSOFT_365_COPILOT_CLIENT_ID=e2e-test-client-id\nARCHESTRA_MINIMAX_BASE_URL=http://e2e-tests-wiremock:8080/minimax/v1\nARCHESTRA_AZURE_OPENAI_BASE_URL=http://e2e-tests-wiremock:8080/azure/openai/deployments/test-deployment\nARCHESTRA_AZURE_OPENAI_API_VERSION=2024-02-01\n\n# Chat API keys (chat routes require a key to be present)\nARCHESTRA_CHAT_OPENAI_API_KEY=test-key\nARCHESTRA_CHAT_ANTHROPIC_API_KEY=test-key\nARCHESTRA_CHAT_GEMINI_API_KEY=test-key\nARCHESTRA_CHAT_COHERE_API_KEY=test-key\nARCHESTRA_CHAT_CEREBRAS_API_KEY=test-key\nARCHESTRA_CHAT_VLLM_API_KEY=test-key\nARCHESTRA_CHAT_OLLAMA_API_KEY=test-key\nARCHESTRA_CHAT_GROQ_API_KEY=test-key\nARCHESTRA_CHAT_XAI_API_KEY=test-key\nARCHESTRA_CHAT_OPENROUTER_API_KEY=test-key\nARCHESTRA_CHAT_ZHIPUAI_API_KEY=test-key\nARCHESTRA_CHAT_MISTRAL_API_KEY=test-key\nARCHESTRA_CHAT_BEDROCK_API_KEY=test-key\nARCHESTRA_CHAT_PERPLEXITY_API_KEY=test-key\nARCHESTRA_CHAT_DEEPSEEK_API_KEY=test-key\nARCHESTRA_CHAT_GITHUB_COPILOT_API_KEY=test-key\nARCHESTRA_CHAT_MINIMAX_API_KEY=test-key\nARCHESTRA_CHAT_AZURE_OPENAI_API_KEY=test-key\n\nARCHESTRA_METRICS_SECRET=foo-bar\nARCHESTRA_FRONTEND_URL=http://localhost:3000\nARCHESTRA_AUTH_SECRET=e2e-auth-secret-must-be-32-chars-long\n\n# Enterprise license flags (required for the .ee specs)\nARCHESTRA_ENTERPRISE_LICENSE_ACTIVATED=true\nARCHESTRA_ENTERPRISE_LICENSE_FULL_WHITE_LABELING=true\nARCHESTRA_ENTERPRISE_LICENSE_KNOWLEDGE_BASE_ACTIVATED=true\n\n# Beta feature gates exercised by the suite\nARCHESTRA_KNOWLEDGE_BASE_AUTO_SYNC_PERMISSIONS_ENABLED=true\n\nARCHESTRA_AUTH_RATE_LIMIT_DISABLED=true\n\n# Keycloak sidecar as trusted origin (OIDC discovery URL validation):\n# the docker network name the backend resolves, and the host-published URL\n# that appears in OIDC discovery documents.\nARCHESTRA_AUTH_ADDITIONAL_TRUSTED_ORIGINS=http://e2e-tests-keycloak:8080,http://localhost:30081\n"}, "8c7c2dbffbd7e51833d663376b4692273cbaeaf0": {"t": 1785846816.5376978, "n": 4259, "h": "8aa3e475f0569f36", "c": "# Platform container environment for the lite e2e harness (docker --env-file).\n#\n# Mirrors `archestra.env` in .github/values-ci.yaml (the Kind+Helm CI job).\n# Keep the two in sync: chat.spec.ts silently skips providers whose base URL\n# is not configured, so a provider added there but not here loses coverage\n# without failing anything.\n#\n# Vault settings are deliberately absent: the lite environment runs the\n# default DB-backed secrets manager; Vault specs live in the K8s CI job.\n\n# Quickstart mode: single container with internal Postgres and an embedded\n# Kind cluster (via the mounted docker socket) for the MCP orchestrator.\nARCHESTRA_QUICKSTART=true\n# No spec in this environment exercises the skill sandbox, so skip the Dagger\n# engine boot — this also lets CI run the -slim image (no dagger-engine.tar).\nARCHESTRA_CODE_RUNTIME_ENABLED=false\n\nENABLE_E2E_TEST_ENDPOINTS=true\nENABLE_TEST_MCP_SERVER=true\nARCHESTRA_ANALYTICS=disabled\n\n# LLM provider base URLs -> WireMock sidecar (per-provider path prefixes)\nARCHESTRA_OPENAI_BASE_URL=http://e2e-tests-wiremock:8080/openai/v1\nARCHESTRA_ANTHROPIC_BASE_URL=http://e2e-tests-wiremock:8080/anthropic\nARCHESTRA_GEMINI_BASE_URL=http://e2e-tests-wiremock:8080/gemini\nARCHESTRA_COHERE_BASE_URL=http://e2e-tests-wiremock:8080/cohere\nARCHESTRA_CEREBRAS_BASE_URL=http://e2e-tests-wiremock:8080/cerebras/v1\nARCHESTRA_VLLM_BASE_URL=http://e2e-tests-wiremock:8080/vllm/v1\nARCHESTRA_OLLAMA_BASE_URL=http://e2e-tests-wiremock:8080/ollama/v1\nARCHESTRA_GROQ_BASE_URL=http://e2e-tests-wiremock:8080/groq/v1\nARCHESTRA_XAI_BASE_URL=http://e2e-tests-wiremock:8080/xai/v1\nARCHESTRA_OPENROUTER_BASE_URL=http://e2e-tests-wiremock:8080/openrouter/api/v1\nARCHESTRA_ZHIPUAI_BASE_URL=http://e2e-tests-wiremock:8080/zhipuai/v4\nARCHESTRA_MISTRAL_BASE_URL=http://e2e-tests-wiremock:8080/mistral/v1\nARCHESTRA_BEDROCK_BASE_URL=http://e2e-tests-wiremock:8080/bedrock\nARCHESTRA_PERPLEXITY_BASE_URL=http://e2e-tests-wiremock:8080/perplexity/v1\nARCHESTRA_DEEPSEEK_BASE_URL=http://e2e-tests-wiremock:8080/deepseek\nARCHESTRA_GITHUB_COPILOT_BASE_URL=http://e2e-tests-wiremock:8080/github-copilot\nARCHESTRA_GITHUB_COPILOT_TOKEN_EXCHANGE_URL=http://e2e-tests-wiremock:8080/github/copilot_internal/v2/token\nARCHESTRA_MICROSOFT_365_COPILOT_BASE_URL=http://e2e-tests-wiremock:8080/microsoft-365-copilot\nARCHESTRA_MICROSOFT_365_COPILOT_AUTH_BASE_URL=http://e2e-tests-wiremock:8080/microsoft-login\nARCHESTRA_MICROSOFT_365_COPILOT_CLIENT_ID=e2e-test-client-id\nARCHESTRA_MINIMAX_BASE_URL=http://e2e-tests-wiremock:8080/minimax/v1\nARCHESTRA_AZURE_OPENAI_BASE_URL=http://e2e-tests-wiremock:8080/azure/openai/deployments/test-deployment\nARCHESTRA_AZURE_OPENAI_API_VERSION=2024-02-01\n\n# Chat API keys (chat routes require a key to be present)\nARCHESTRA_CHAT_OPENAI_API_KEY=test-key\nARCHESTRA_CHAT_ANTHROPIC_API_KEY=test-key\nARCHESTRA_CHAT_GEMINI_API_KEY=test-key\nARCHESTRA_CHAT_COHERE_API_KEY=test-key\nARCHESTRA_CHAT_CEREBRAS_API_KEY=test-key\nARCHESTRA_CHAT_VLLM_API_KEY=test-key\nARCHESTRA_CHAT_OLLAMA_API_KEY=test-key\nARCHESTRA_CHAT_GROQ_API_KEY=test-key\nARCHESTRA_CHAT_XAI_API_KEY=test-key\nARCHESTRA_CHAT_OPENROUTER_API_KEY=test-key\nARCHESTRA_CHAT_ZHIPUAI_API_KEY=test-key\nARCHESTRA_CHAT_MISTRAL_API_KEY=test-key\nARCHESTRA_CHAT_BEDROCK_API_KEY=test-key\nARCHESTRA_CHAT_PERPLEXITY_API_KEY=test-key\nARCHESTRA_CHAT_DEEPSEEK_API_KEY=test-key\nARCHESTRA_CHAT_GITHUB_COPILOT_API_KEY=test-key\nARCHESTRA_CHAT_MINIMAX_API_KEY=test-key\nARCHESTRA_CHAT_AZURE_OPENAI_API_KEY=test-key\n\nARCHESTRA_METRICS_SECRET=foo-bar\nARCHESTRA_FRONTEND_URL=http://localhost:3000\nARCHESTRA_AUTH_SECRET=e2e-auth-secret-must-be-32-chars-long\n\n# Enterprise license flags (required for the .ee specs)\nARCHESTRA_ENTERPRISE_LICENSE_ACTIVATED=true\nARCHESTRA_ENTERPRISE_LICENSE_FULL_WHITE_LABELING=true\nARCHESTRA_ENTERPRISE_LICENSE_KNOWLEDGE_BASE_ACTIVATED=true\n\n# Beta feature gates exercised by the suite\nARCHESTRA_KNOWLEDGE_BASE_AUTO_SYNC_PERMISSIONS_ENABLED=true\n\nARCHESTRA_AUTH_RATE_LIMIT_DISABLED=true\n\n# Keycloak sidecar as trusted origin (OIDC discovery URL validation):\n# the docker network name the backend resolves, and the host-published URL\n# that appears in OIDC discovery documents.\nARCHESTRA_AUTH_ADDITIONAL_TRUSTED_ORIGINS=http://e2e-tests-keycloak:8080,http://localhost:30081\n"}, "06deee5c509ab02fbcc2398d154eb317e66d747b": {"t": 1785846889.546342, "n": 4259, "h": "8aa3e475f0569f36", "c": "# Platform container environment for the lite e2e harness (docker --env-file).\n#\n# Mirrors `archestra.env` in .github/values-ci.yaml (the Kind+Helm CI job).\n# Keep the two in sync: chat.spec.ts silently skips providers whose base URL\n# is not configured, so a provider added there but not here loses coverage\n# without failing anything.\n#\n# Vault settings are deliberately absent: the lite environment runs the\n# default DB-backed secrets manager; Vault specs live in the K8s CI job.\n\n# Quickstart mode: single container with internal Postgres and an embedded\n# Kind cluster (via the mounted docker socket) for the MCP orchestrator.\nARCHESTRA_QUICKSTART=true\n# No spec in this environment exercises the skill sandbox, so skip the Dagger\n# engine boot — this also lets CI run the -slim image (no dagger-engine.tar).\nARCHESTRA_CODE_RUNTIME_ENABLED=false\n\nENABLE_E2E_TEST_ENDPOINTS=true\nENABLE_TEST_MCP_SERVER=true\nARCHESTRA_ANALYTICS=disabled\n\n# LLM provider base URLs -> WireMock sidecar (per-provider path prefixes)\nARCHESTRA_OPENAI_BASE_URL=http://e2e-tests-wiremock:8080/openai/v1\nARCHESTRA_ANTHROPIC_BASE_URL=http://e2e-tests-wiremock:8080/anthropic\nARCHESTRA_GEMINI_BASE_URL=http://e2e-tests-wiremock:8080/gemini\nARCHESTRA_COHERE_BASE_URL=http://e2e-tests-wiremock:8080/cohere\nARCHESTRA_CEREBRAS_BASE_URL=http://e2e-tests-wiremock:8080/cerebras/v1\nARCHESTRA_VLLM_BASE_URL=http://e2e-tests-wiremock:8080/vllm/v1\nARCHESTRA_OLLAMA_BASE_URL=http://e2e-tests-wiremock:8080/ollama/v1\nARCHESTRA_GROQ_BASE_URL=http://e2e-tests-wiremock:8080/groq/v1\nARCHESTRA_XAI_BASE_URL=http://e2e-tests-wiremock:8080/xai/v1\nARCHESTRA_OPENROUTER_BASE_URL=http://e2e-tests-wiremock:8080/openrouter/api/v1\nARCHESTRA_ZHIPUAI_BASE_URL=http://e2e-tests-wiremock:8080/zhipuai/v4\nARCHESTRA_MISTRAL_BASE_URL=http://e2e-tests-wiremock:8080/mistral/v1\nARCHESTRA_BEDROCK_BASE_URL=http://e2e-tests-wiremock:8080/bedrock\nARCHESTRA_PERPLEXITY_BASE_URL=http://e2e-tests-wiremock:8080/perplexity/v1\nARCHESTRA_DEEPSEEK_BASE_URL=http://e2e-tests-wiremock:8080/deepseek\nARCHESTRA_GITHUB_COPILOT_BASE_URL=http://e2e-tests-wiremock:8080/github-copilot\nARCHESTRA_GITHUB_COPILOT_TOKEN_EXCHANGE_URL=http://e2e-tests-wiremock:8080/github/copilot_internal/v2/token\nARCHESTRA_MICROSOFT_365_COPILOT_BASE_URL=http://e2e-tests-wiremock:8080/microsoft-365-copilot\nARCHESTRA_MICROSOFT_365_COPILOT_AUTH_BASE_URL=http://e2e-tests-wiremock:8080/microsoft-login\nARCHESTRA_MICROSOFT_365_COPILOT_CLIENT_ID=e2e-test-client-id\nARCHESTRA_MINIMAX_BASE_URL=http://e2e-tests-wiremock:8080/minimax/v1\nARCHESTRA_AZURE_OPENAI_BASE_URL=http://e2e-tests-wiremock:8080/azure/openai/deployments/test-deployment\nARCHESTRA_AZURE_OPENAI_API_VERSION=2024-02-01\n\n# Chat API keys (chat routes require a key to be present)\nARCHESTRA_CHAT_OPENAI_API_KEY=test-key\nARCHESTRA_CHAT_ANTHROPIC_API_KEY=test-key\nARCHESTRA_CHAT_GEMINI_API_KEY=test-key\nARCHESTRA_CHAT_COHERE_API_KEY=test-key\nARCHESTRA_CHAT_CEREBRAS_API_KEY=test-key\nARCHESTRA_CHAT_VLLM_API_KEY=test-key\nARCHESTRA_CHAT_OLLAMA_API_KEY=test-key\nARCHESTRA_CHAT_GROQ_API_KEY=test-key\nARCHESTRA_CHAT_XAI_API_KEY=test-key\nARCHESTRA_CHAT_OPENROUTER_API_KEY=test-key\nARCHESTRA_CHAT_ZHIPUAI_API_KEY=test-key\nARCHESTRA_CHAT_MISTRAL_API_KEY=test-key\nARCHESTRA_CHAT_BEDROCK_API_KEY=test-key\nARCHESTRA_CHAT_PERPLEXITY_API_KEY=test-key\nARCHESTRA_CHAT_DEEPSEEK_API_KEY=test-key\nARCHESTRA_CHAT_GITHUB_COPILOT_API_KEY=test-key\nARCHESTRA_CHAT_MINIMAX_API_KEY=test-key\nARCHESTRA_CHAT_AZURE_OPENAI_API_KEY=test-key\n\nARCHESTRA_METRICS_SECRET=foo-bar\nARCHESTRA_FRONTEND_URL=http://localhost:3000\nARCHESTRA_AUTH_SECRET=e2e-auth-secret-must-be-32-chars-long\n\n# Enterprise license flags (required for the .ee specs)\nARCHESTRA_ENTERPRISE_LICENSE_ACTIVATED=true\nARCHESTRA_ENTERPRISE_LICENSE_FULL_WHITE_LABELING=true\nARCHESTRA_ENTERPRISE_LICENSE_KNOWLEDGE_BASE_ACTIVATED=true\n\n# Beta feature gates exercised by the suite\nARCHESTRA_KNOWLEDGE_BASE_AUTO_SYNC_PERMISSIONS_ENABLED=true\n\nARCHESTRA_AUTH_RATE_LIMIT_DISABLED=true\n\n# Keycloak sidecar as trusted origin (OIDC discovery URL validation):\n# the docker network name the backend resolves, and the host-published URL\n# that appears in OIDC discovery documents.\nARCHESTRA_AUTH_ADDITIONAL_TRUSTED_ORIGINS=http://e2e-tests-keycloak:8080,http://localhost:30081\n"}}, "mcp-catalog/data/mcp-evaluations/gwbischof__outsource-mcp.json": {"f41ed6e2f62c4034a03f4847a14f365244631687": {"t": 1785674623.9191632, "n": 17261, "h": "16a290469b752016", "c": "{\n \"name\": \"gwbischof__outsource-mcp\",\n \"display_name\": \"outsource-mcp\",\n \"description\": \"Give your AI assistant its own AI assistants.\",\n \"author\": {\n \"name\": \"gwbischof\"\n },\n \"server\": {\n \"command\": \"uvx\",\n \"args\": [\"--from\", \"git+https://github.com/gwbischof/outsource-mcp.git\", \"outsource-mcp\"],\n \"env\": {\n \"OPENAI_API_KEY\": \"${user_config.openai_api_key}\",\n \"ANTHROPIC_API_KEY\": \"${user_config.anthropic_api_key}\",\n \"GOOGLE_API_KEY\": \"${user_config.google_api_key}\",\n \"GROQ_API_KEY\": \"${user_config.groq_api_key}\",\n \"DEEPSEEK_API_KEY\": \"${user_config.deepseek_api_key}\",\n \"XAI_API_KEY\": \"${user_config.xai_api_key}\",\n \"PERPLEXITY_API_KEY\": \"${user_config.perplexity_api_key}\",\n \"COHERE_API_KEY\": \"${user_config.cohere_api_key}\",\n \"FIREWORKS_API_KEY\": \"${user_config.fireworks_api_key}\",\n \"HUGGINGFACE_API_KEY\": \"${user_config.huggingface_api_key}\",\n \"MISTRAL_API_KEY\": \"${user_config.mistral_api_key}\",\n \"NVIDIA_API_KEY\": \"${user_config.nvidia_api_key}\",\n \"OLLAMA_HOST\": \"${user_config.ollama_host}\",\n \"OPENROUTER_API_KEY\": \"${user_config.openrouter_api_key}\",\n \"TOGETHER_API_KEY\": \"${user_config.together_api_key}\",\n \"CEREBRAS_API_KEY\": \"${user_config.cerebras_api_key}\",\n \"DEEPINFRA_API_KEY\": \"${user_config.deepinfra_api_key}\",\n \"SAMBANOVA_API_KEY\": \"${user_config.sambanova_api_key}\",\n \"IBM_WATSONX_API_KEY\": \"${user_config.ibm_watsonx_api_key}\",\n \"LLAMA_API_KEY\": \"${user_config.llama_api_key}\"\n },\n \"type\": \"local\"\n },\n \"tools\": [],\n \"prompts\": [],\n \"keywords\": [],\n \"user_config\": {\n \"openai_api_key\": {\n \"type\": \"string\",\n \"title\": \"OpenAI API Key\",\n \"description\": \"Your API key for OpenAI\",\n \"sensitive\": true,\n \"required\": false\n },\n \"anthropic_api_key\": {\n \"type\": \"string\",\n \"title\": \"Anthropic API Key\",\n \"description\": \"Your API key for Anthropic\",\n \"sensitive\": true,\n \"required\": false\n },\n \"google_api_key\": {\n \"type\": \"string\",\n \"title\": \"Google API Key\",\n \"description\": \"Your API key for Google\",\n \"sensitive\": true,\n \"required\": false\n },\n \"groq_api_key\": {\n \"type\": \"string\",\n \"title\": \"Groq API Key\",\n \"description\": \"Your API key for Groq\",\n \"sensitive\": true,\n \"required\": false\n },\n \"deepseek_api_key\": {\n \"type\": \"string\",\n \"title\": \"DeepSeek API Key\",\n \"description\": \"Your API key for DeepSeek\",\n \"sensitive\": true,\n \"required\": false\n },\n \"xai_api_key\": {\n \"type\": \"string\",\n \"title\": \"xAI API Key\",\n \"description\": \"Your API key for xAI\",\n \"sensitive\": true,\n \"required\": false\n },\n \"perplexity_api_key\": {\n \"type\": \"string\",\n \"title\": \"Perplexity API Key\",\n \"description\": \"Your API key for Perplexity\",\n \"sensitive\": true,\n \"required\": false\n },\n \"cohere_api_key\": {\n \"type\": \"string\",\n \"title\": \"Cohere API Key\",\n \"description\": \"Your API key for Cohere\",\n \"sensitive\": true,\n \"required\": false\n },\n \"fireworks_api_key\": {\n \"type\": \"string\",\n \"title\": \"Fireworks AI API Key\",\n \"description\": \"Your API key for Fireworks AI\",\n \"sensitive\": true,\n \"required\": false\n },\n \"huggingface_api_key\": {\n \"type\": \"string\",\n \"title\": \"HuggingFace API Key\",\n \"description\": \"Your API key for HuggingFace\",\n \"sensitive\": true,\n \"required\": false\n },\n \"mistral_api_key\": {\n \"type\": \"string\",\n \"title\": \"Mistral AI API Key\",\n \"description\": \"Your API key for Mistral AI\",\n \"sensitive\": true,\n \"required\": false\n },\n \"nvidia_api_key\": {\n \"type\": \"string\",\n \"title\": \"NVIDIA API Key\",\n \"description\": \"Your API key for NVIDIA\",\n \"sensitive\": true,\n \"required\": false\n },\n \"ollama_host\": {\n \"type\": \"string\",\n \"title\": \"Ollama Host\",\n \"description\": \"The host URL for Ollama\",\n \"default\": \"http://localhost:11434\",\n \"sensitive\": false,\n \"required\": false\n },\n \"openrouter_api_key\": {\n \"type\": \"string\",\n \"title\": \"OpenRouter API Key\",\n \"description\": \"Your API key for OpenRouter\",\n \"sensitive\": true,\n \"required\": false\n },\n \"together_api_key\": {\n \"type\": \"string\",\n \"title\": \"Together AI API Key\",\n \"description\": \"Your API key for Together AI\",\n \"sensitive\": true,\n \"required\": false\n },\n \"cerebras_api_key\": {\n \"type\": \"string\",\n \"title\": \"Cerebras API Key\",\n \"description\": \"Your API key for Cerebras\",\n \"sensitive\": true,\n \"required\": false\n },\n \"deepinfra_api_key\": {\n \"type\": \"string\",\n \"title\": \"DeepInfra API Key\",\n \"description\": \"Your API key for DeepInfra\",\n \"sensitive\": true,\n \"required\": false\n },\n \"sambanova_api_key\": {\n \"type\": \"string\",\n \"title\": \"SambaNova API Key\",\n \"description\": \"Your API key for SambaNova\",\n \"sensitive\": true,\n \"required\": false\n },\n \"ibm_watsonx_api_key\": {\n \"type\": \"string\",\n \"title\": \"IBM WatsonX API Key\",\n \"description\": \"Your API key for IBM WatsonX\",\n \"sensitive\": true,\n \"required\": false\n },\n \"llama_api_key\": {\n \"type\": \"string\",\n \"title\": \"Meta Llama API Key\",\n \"description\": \"Your API key for Meta Llama\",\n \"sensitive\": true,\n \"required\": false\n }\n },\n \"readme\": \"# Outsource MCP\\n\\nAn MCP (Model Context Protocol) server that enables AI applications to outsource tasks to various model providers through a unified interface.\\n\\n<img width=\\\"1154\\\" alt=\\\"image\\\" src=\\\"https://github.com/user-attachments/assets/cd364a7c-eae5-4c58-bc1f-fdeea6cb8434\\\" />\\n\\n<img width=\\\"1103\\\" alt=\\\"image\\\" src=\\\"https://github.com/user-attachments/assets/55924981-83e9-4811-9f51-b049595b7505\\\" />\\n\\n\\nCompatible with any AI tool that supports the Model Context Protocol, including Claude Desktop, Cline, and other MCP-enabled applications.\\nBuilt with [FastMCP](https://github.com/mcp/fastmcp) for the MCP server implementation and [Agno](https://github.com/agno-agi/agno) for AI agent capabilities.\\n\\n## Features\\n\\n- 🤖 **Multi-Provider Support**: Access 20+ AI providers through a single interface\\n- 📝 **Text Generation**: Generate text using models from OpenAI, Anthropic, Google, and more\\n- 🎨 **Image Generation**: Create images using DALL-E 3 and DALL-E 2\\n- 🔧 **Simple API**: Consistent interface with just three parameters: provider, model, and prompt\\n- 🔑 **Flexible Authentication**: Only configure API keys for the providers you use\\n\\n## Configuration\\n\\nAdd the following configuration to your MCP client. Consult your MCP client's documentation for specific configuration details.\\n\\n```json\\n{\\n \\\"mcpServers\\\": {\\n \\\"outsource-mcp\\\": {\\n \\\"command\\\": \\\"uvx\\\",\\n \\\"args\\\": [\\\"--from\\\", \\\"git+https://github.com/gwbischof/outsource-mcp.git\\\", \\\"outsource-mcp\\\"],\\n \\\"env\\\": {\\n \\\"OPENAI_API_KEY\\\": \\\"your-openai-key\\\",\\n \\\"ANTHROPIC_API_KEY\\\": \\\"your-anthropic-key\\\",\\n \\\"GOOGLE_API_KEY\\\": \\\"your-google-key\\\",\\n \\\"GROQ_API_KEY\\\": \\\"your-groq-key\\\",\\n \\\"DEEPSEEK_API_KEY\\\": \\\"your-deepseek-key\\\",\\n \\\"XAI_API_KEY\\\": \\\"your-xai-key\\\",\\n \\\"PERPLEXITY_API_KEY\\\": \\\"your-perplexity-key\\\",\\n \\\"COHERE_API_KEY\\\": \\\"your-cohere-key\\\",\\n \\\"FIREWORKS_API_KEY\\\": \\\"your-fireworks-key\\\",\\n \\\"HUGGINGFACE_API_KEY\\\": \\\"your-huggingface-key\\\",\\n \\\"MISTRAL_API_KEY\\\": \\\"your-mistral-key\\\",\\n \\\"NVIDIA_API_KEY\\\": \\\"your-nvidia-key\\\",\\n \\\"OLLAMA_HOST\\\": \\\"http://localhost:11434\\\",\\n \\\"OPENROUTER_API_KEY\\\": \\\"your-openrouter-key\\\",\\n \\\"TOGETHER_API_KEY\\\": \\\"your-together-key\\\",\\n \\\"CEREBRAS_API_KEY\\\": \\\"your-cerebras-key\\\",\\n \\\"DEEPINFRA_API_KEY\\\": \\\"your-deepinfra-key\\\",\\n \\\"SAMBANOVA_API_KEY\\\": \\\"your-sambanova-key\\\"\\n }\\n }\\n }\\n}\\n```\\n\\nNote: The environment variables are optional. Only include the API keys for the providers you want to use.\\n\\n## Quick Start\\n\\nOnce installed and configured, you can use the tools in your MCP client:\\n\\n1. **Generate text**: Use the `outsource_text` tool with provider \\\"openai\\\", model \\\"gpt-4o-mini\\\", and prompt \\\"Write a haiku about coding\\\"\\n2. **Generate images**: Use the `outsource_image` tool with provider \\\"openai\\\", model \\\"dall-e-3\\\", and prompt \\\"A futuristic city skyline at sunset\\\"\\n\\n## Tools\\n\\n### outsource_text\\nCreates an Agno agent with a specified provider and model to generate text responses. \\n\\n**Arguments:**\\n- `provider`: The provider name (e.g., \\\"openai\\\", \\\"anthropic\\\", \\\"google\\\", \\\"groq\\\", etc.)\\n- `model`: The model name (e.g., \\\"gpt-4o\\\", \\\"claude-3-5-sonnet-20241022\\\", \\\"gemini-2.0-flash-exp\\\")\\n- `prompt`: The text prompt to send to the model\\n\\n### outsource_image\\nGenerates images using AI models.\\n\\n**Arguments:**\\n- `provider`: The provider name (currently only \\\"openai\\\" is supported)\\n- `model`: The model name (\\\"dall-e-3\\\" or \\\"dall-e-2\\\")\\n- `prompt`: The image generation prompt\\n\\nReturns the URL of the generated image.\\n\\n> **Note**: Image generation is currently only supported by OpenAI models (DALL-E 2 and DALL-E 3). Other providers only support text generation.\\n\\n## Supported Providers\\n\\nThe following providers are supported. Use the provider name (in parentheses) as the `provider` argument:\\n\\n### Core Providers\\n- **OpenAI** (`openai`) - GPT-4, GPT-3.5, DALL-E, etc. | [Models](https://platform.openai.com/docs/models)\\n- **Anthropic** (`anthropic`) - Claude 3.5, Claude 3, etc. | [Models](https://docs.anthropic.com/en/docs/about-claude/models/overview)\\n- **Google** (`google`) - Gemini Pro, Gemini Flash, etc. | [Models](https://ai.google.dev/models)\\n- **Groq** (`groq`) - Llama 3, Mixtral, etc. | [Models](https://console.groq.com/docs/models)\\n- **DeepSeek** (`deepseek`) - DeepSeek Chat & Coder | [Models](https://api-docs.deepseek.com/api/list-models)\\n- **xAI** (`xai`) - Grok models | [Models](https://docs.x.ai/docs/models)\\n- **Perplexity** (`perplexity`) - Sonar models | [Models](https://docs.perplexity.ai/guides/model-cards)\\n\\n### Additional Providers\\n- **Cohere** (`cohere`) - Command models | [Models](https://docs.cohere.com/v2/docs/models)\\n- **Mistral AI** (`mistral`) - Mistral Large, Medium, Small | [Models](https://docs.mistral.ai/getting-started/models/models_overview/)\\n- **NVIDIA** (`nvidia`) - Various models | [Models](https://build.nvidia.com/models)\\n- **HuggingFace** (`huggingface`) - Open source models | [Models](https://huggingface.co/models)\\n- **Ollama** (`ollama`) - Local models | [Models](https://ollama.com/library)\\n- **Fireworks AI** (`fireworks`) - Fast inference | [Models](https://fireworks.ai/models?view=list)\\n- **OpenRouter** (`openrouter`) - Multi-provider access | [Models](https://openrouter.ai/docs/overview/models)\\n- **Together AI** (`together`) - Open source models | [Models](https://docs.together.ai/docs/serverless-models)\\n- **Cerebras** (`cerebras`) - Fast inference | [Models](https://cerebras.ai/models)\\n- **DeepInfra** (`deepinfra`) - Optimized models | [Models](https://deepinfra.com/docs/models)\\n- **SambaNova** (`sambanova`) - Enterprise models | [Models](https://docs.sambanova.ai/cloud/docs/get-started/supported-models)\\n\\n### Enterprise Providers\\n- **AWS Bedrock** (`aws` or `bedrock`) - AWS-hosted models | [Models](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html)\\n- **Azure AI** (`azure`) - Azure-hosted models | [Models](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/foundry-models-overview)\\n- **IBM WatsonX** (`ibm` or `watsonx`) - IBM models | [Models](https://www.ibm.com/docs/en/software-hub/5.1.x?topic=install-foundation-models)\\n- **LiteLLM** (`litellm`) - Universal interface | [Models](https://docs.litellm.ai/docs/providers)\\n- **Vercel v0** (`vercel` or `v0`) - Vercel AI | [Models](https://sdk.vercel.ai/docs/introduction)\\n- **Meta Llama** (`meta`) - Direct Meta access | [Models](https://www.llama.com/get-started/)\\n\\n### Environment Variables\\n\\nEach provider requires its corresponding API key:\\n\\n| Provider | Environment Variable | Example |\\n|----------|---------------------|---------|\\n| OpenAI | `OPENAI_API_KEY` | sk-... |\\n| Anthropic | `ANTHROPIC_API_KEY` | sk-ant-... |\\n| Google | `GOOGLE_API_KEY` | AIza... |\\n| Groq | `GROQ_API_KEY` | gsk_... |\\n| DeepSeek | `DEEPSEEK_API_KEY` | sk-... |\\n| xAI | `XAI_API_KEY` | xai-... |\\n| Perplexity | `PERPLEXITY_API_KEY` | pplx-... |\\n| Cohere | `COHERE_API_KEY` | ... |\\n| Fireworks | `FIREWORKS_API_KEY` | ... |\\n| HuggingFace | `HUGGINGFACE_API_KEY` | hf_... |\\n| Mistral | `MISTRAL_API_KEY` | ... |\\n| NVIDIA | `NVIDIA_API_KEY` | nvapi-... |\\n| Ollama | `OLLAMA_HOST` | http://localhost:11434 |\\n| OpenRouter | `OPENROUTER_API_KEY` | ... |\\n| Together | `TOGETHER_API_KEY` | ... |\\n| Cerebras | `CEREBRAS_API_KEY` | ... |\\n| DeepInfra | `DEEPINFRA_API_KEY` | ... |\\n| SambaNova | `SAMBANOVA_API_KEY` | ... |\\n| AWS Bedrock | AWS credentials | Via AWS CLI/SDK |\\n| Azure AI | Azure credentials | Via Azure CLI/SDK |\\n| IBM WatsonX | `IBM_WATSONX_API_KEY` | ... |\\n| Meta Llama | `LLAMA_API_KEY` | ... |\\n\\n**Note**: Only configure the API keys for providers you plan to use.\\n\\n## Examples\\n\\n### Text Generation\\n```\\n# Using OpenAI\\nprovider: openai\\nmodel: gpt-4o-mini\\nprompt: Write a haiku about coding\\n\\n# Using Anthropic\\nprovider: anthropic\\nmodel: claude-3-5-sonnet-20241022\\nprompt: Explain quantum computing in simple terms\\n\\n# Using Google\\nprovider: google\\nmodel: gemini-2.0-flash-exp\\nprompt: Create a recipe for chocolate chip cookies\\n```\\n\\n### Image Generation\\n```\\n# Using DALL-E 3\\nprovider: openai\\nmodel: dall-e-3\\nprompt: A serene Japanese garden with cherry blossoms\\n\\n# Using DALL-E 2\\nprovider: openai\\nmodel: dall-e-2\\nprompt: A futuristic cityscape at sunset\\n```\\n\\n## Development\\n\\n### Prerequisites\\n\\n- Python 3.11 or higher\\n- [uv](https://github.com/astral-sh/uv) package manager\\n\\n### Setup\\n\\n```bash\\ngit clone https://github.com/gwbischof/outsource-mcp.git\\ncd outsource-mcp\\nuv sync\\n```\\n\\n### Testing with MCP Inspector\\n\\nThe MCP Inspector allows you to test the server interactively:\\n\\n```bash\\nmcp dev server.py\\n```\\n\\n### Running Tests\\n\\nThe test suite includes integration tests that verify both text and image generation:\\n\\n```bash\\n# Run all tests\\nuv run pytest\\n```\\n\\n**Note:** Integration tests require API keys to be set in your environment.\\n\\n## Troubleshooting\\n\\n### Common Issues\\n\\n1. **\\\"Error: Unknown provider\\\"**\\n - Check that you're using a supported provider name from the list above\\n - Provider names are case-insensitive\\n\\n2. **\\\"Error: OpenAI API error\\\"** \\n - Verify your API key is correctly set in the environment variables\\n - Check that your API key has access to the requested model\\n - Ensure you have sufficient credits/quota\\n\\n3. **\\\"Error: No image was generated\\\"**\\n - This can happen if the image generation request fails\\n - Try a simpler prompt or different model (dall-e-2 vs dall-e-3)\\n\\n4. **Environment variables not working**\\n - Make sure to restart your MCP client after updating the configuration\\n - Verify the configuration file location for your specific MCP client\\n - Check that the environment variables are properly formatted in the configuration\\n\\n## Contributing\\n\\nContributions are welcome! Please feel free to submit a Pull Request.\\n\",\n \"category\": \"AI Tools\",\n \"archestra_config\": {\n \"client_config_permutations\": {\n \"outsource-mcp\": {\n \"command\": \"uvx\",\n \"args\": [\"--from\", \"git+https://github.com/gwbischof/outsource-mcp.git\", \"outsource-mcp\"],\n \"env\": {\n \"OPENAI_API_KEY\": \"your-openai-key\",\n \"ANTHROPIC_API_KEY\": \"your-anthropic-key\",\n \"GOOGLE_API_KEY\": \"your-google-key\",\n \"GROQ_API_KEY\": \"your-groq-key\",\n \"DEEPSEEK_API_KEY\": \"your-deepseek-key\",\n \"XAI_API_KEY\": \"your-xai-key\",\n \"PERPLEXITY_API_KEY\": \"your-perplexity-key\",\n \"COHERE_API_KEY\": \"your-cohere-key\",\n \"FIREWORKS_API_KEY\": \"your-fireworks-key\",\n \"HUGGINGFACE_API_KEY\": \"your-huggingface-key\",\n \"MISTRAL_API_KEY\": \"your-mistral-key\",\n \"NVIDIA_API_KEY\": \"your-nvidia-key\",\n \"OLLAMA_HOST\": \"http://localhost:11434\",\n \"OPENROUTER_API_KEY\": \"your-openrouter-key\",\n \"TOGETHER_API_KEY\": \"your-together-key\",\n \"CEREBRAS_API_KEY\": \"your-cerebras-key\",\n \"DEEPINFRA_API_KEY\": \"your-deepinfra-key\",\n \"SAMBANOVA_API_KEY\": \"your-sambanova-key\"\n }\n }\n },\n \"oauth\": {\n \"provider\": null,\n \"required\": false\n },\n \"works_in_archestra\": false\n },\n \"github_info\": {\n \"owner\": \"gwbischof\",\n \"repo\": \"outsource-mcp\",\n \"url\": \"https://github.com/gwbischof/outsource-mcp\",\n \"name\": \"gwbischof__outsource-mcp\",\n \"path\": null,\n \"stars\": 22,\n \"contributors\": 1,\n \"issues\": 0,\n \"releases\": false,\n \"ci_cd\": false,\n \"latest_commit_hash\": \"70e7b6b4031d1819fad18ee313fb6ec16e126b92\"\n },\n \"programming_language\": \"Python\"\n}\n"}, "06deee5c509ab02fbcc2398d154eb317e66d747b": {"t": 1785846904.0893073, "n": 17261, "h": "16a290469b752016", "c": "{\n \"name\": \"gwbischof__outsource-mcp\",\n \"display_name\": \"outsource-mcp\",\n \"description\": \"Give your AI assistant its own AI assistants.\",\n \"author\": {\n \"name\": \"gwbischof\"\n },\n \"server\": {\n \"command\": \"uvx\",\n \"args\": [\"--from\", \"git+https://github.com/gwbischof/outsource-mcp.git\", \"outsource-mcp\"],\n \"env\": {\n \"OPENAI_API_KEY\": \"${user_config.openai_api_key}\",\n \"ANTHROPIC_API_KEY\": \"${user_config.anthropic_api_key}\",\n \"GOOGLE_API_KEY\": \"${user_config.google_api_key}\",\n \"GROQ_API_KEY\": \"${user_config.groq_api_key}\",\n \"DEEPSEEK_API_KEY\": \"${user_config.deepseek_api_key}\",\n \"XAI_API_KEY\": \"${user_config.xai_api_key}\",\n \"PERPLEXITY_API_KEY\": \"${user_config.perplexity_api_key}\",\n \"COHERE_API_KEY\": \"${user_config.cohere_api_key}\",\n \"FIREWORKS_API_KEY\": \"${user_config.fireworks_api_key}\",\n \"HUGGINGFACE_API_KEY\": \"${user_config.huggingface_api_key}\",\n \"MISTRAL_API_KEY\": \"${user_config.mistral_api_key}\",\n \"NVIDIA_API_KEY\": \"${user_config.nvidia_api_key}\",\n \"OLLAMA_HOST\": \"${user_config.ollama_host}\",\n \"OPENROUTER_API_KEY\": \"${user_config.openrouter_api_key}\",\n \"TOGETHER_API_KEY\": \"${user_config.together_api_key}\",\n \"CEREBRAS_API_KEY\": \"${user_config.cerebras_api_key}\",\n \"DEEPINFRA_API_KEY\": \"${user_config.deepinfra_api_key}\",\n \"SAMBANOVA_API_KEY\": \"${user_config.sambanova_api_key}\",\n \"IBM_WATSONX_API_KEY\": \"${user_config.ibm_watsonx_api_key}\",\n \"LLAMA_API_KEY\": \"${user_config.llama_api_key}\"\n },\n \"type\": \"local\"\n },\n \"tools\": [],\n \"prompts\": [],\n \"keywords\": [],\n \"user_config\": {\n \"openai_api_key\": {\n \"type\": \"string\",\n \"title\": \"OpenAI API Key\",\n \"description\": \"Your API key for OpenAI\",\n \"sensitive\": true,\n \"required\": false\n },\n \"anthropic_api_key\": {\n \"type\": \"string\",\n \"title\": \"Anthropic API Key\",\n \"description\": \"Your API key for Anthropic\",\n \"sensitive\": true,\n \"required\": false\n },\n \"google_api_key\": {\n \"type\": \"string\",\n \"title\": \"Google API Key\",\n \"description\": \"Your API key for Google\",\n \"sensitive\": true,\n \"required\": false\n },\n \"groq_api_key\": {\n \"type\": \"string\",\n \"title\": \"Groq API Key\",\n \"description\": \"Your API key for Groq\",\n \"sensitive\": true,\n \"required\": false\n },\n \"deepseek_api_key\": {\n \"type\": \"string\",\n \"title\": \"DeepSeek API Key\",\n \"description\": \"Your API key for DeepSeek\",\n \"sensitive\": true,\n \"required\": false\n },\n \"xai_api_key\": {\n \"type\": \"string\",\n \"title\": \"xAI API Key\",\n \"description\": \"Your API key for xAI\",\n \"sensitive\": true,\n \"required\": false\n },\n \"perplexity_api_key\": {\n \"type\": \"string\",\n \"title\": \"Perplexity API Key\",\n \"description\": \"Your API key for Perplexity\",\n \"sensitive\": true,\n \"required\": false\n },\n \"cohere_api_key\": {\n \"type\": \"string\",\n \"title\": \"Cohere API Key\",\n \"description\": \"Your API key for Cohere\",\n \"sensitive\": true,\n \"required\": false\n },\n \"fireworks_api_key\": {\n \"type\": \"string\",\n \"title\": \"Fireworks AI API Key\",\n \"description\": \"Your API key for Fireworks AI\",\n \"sensitive\": true,\n \"required\": false\n },\n \"huggingface_api_key\": {\n \"type\": \"string\",\n \"title\": \"HuggingFace API Key\",\n \"description\": \"Your API key for HuggingFace\",\n \"sensitive\": true,\n \"required\": false\n },\n \"mistral_api_key\": {\n \"type\": \"string\",\n \"title\": \"Mistral AI API Key\",\n \"description\": \"Your API key for Mistral AI\",\n \"sensitive\": true,\n \"required\": false\n },\n \"nvidia_api_key\": {\n \"type\": \"string\",\n \"title\": \"NVIDIA API Key\",\n \"description\": \"Your API key for NVIDIA\",\n \"sensitive\": true,\n \"required\": false\n },\n \"ollama_host\": {\n \"type\": \"string\",\n \"title\": \"Ollama Host\",\n \"description\": \"The host URL for Ollama\",\n \"default\": \"http://localhost:11434\",\n \"sensitive\": false,\n \"required\": false\n },\n \"openrouter_api_key\": {\n \"type\": \"string\",\n \"title\": \"OpenRouter API Key\",\n \"description\": \"Your API key for OpenRouter\",\n \"sensitive\": true,\n \"required\": false\n },\n \"together_api_key\": {\n \"type\": \"string\",\n \"title\": \"Together AI API Key\",\n \"description\": \"Your API key for Together AI\",\n \"sensitive\": true,\n \"required\": false\n },\n \"cerebras_api_key\": {\n \"type\": \"string\",\n \"title\": \"Cerebras API Key\",\n \"description\": \"Your API key for Cerebras\",\n \"sensitive\": true,\n \"required\": false\n },\n \"deepinfra_api_key\": {\n \"type\": \"string\",\n \"title\": \"DeepInfra API Key\",\n \"description\": \"Your API key for DeepInfra\",\n \"sensitive\": true,\n \"required\": false\n },\n \"sambanova_api_key\": {\n \"type\": \"string\",\n \"title\": \"SambaNova API Key\",\n \"description\": \"Your API key for SambaNova\",\n \"sensitive\": true,\n \"required\": false\n },\n \"ibm_watsonx_api_key\": {\n \"type\": \"string\",\n \"title\": \"IBM WatsonX API Key\",\n \"description\": \"Your API key for IBM WatsonX\",\n \"sensitive\": true,\n \"required\": false\n },\n \"llama_api_key\": {\n \"type\": \"string\",\n \"title\": \"Meta Llama API Key\",\n \"description\": \"Your API key for Meta Llama\",\n \"sensitive\": true,\n \"required\": false\n }\n },\n \"readme\": \"# Outsource MCP\\n\\nAn MCP (Model Context Protocol) server that enables AI applications to outsource tasks to various model providers through a unified interface.\\n\\n<img width=\\\"1154\\\" alt=\\\"image\\\" src=\\\"https://github.com/user-attachments/assets/cd364a7c-eae5-4c58-bc1f-fdeea6cb8434\\\" />\\n\\n<img width=\\\"1103\\\" alt=\\\"image\\\" src=\\\"https://github.com/user-attachments/assets/55924981-83e9-4811-9f51-b049595b7505\\\" />\\n\\n\\nCompatible with any AI tool that supports the Model Context Protocol, including Claude Desktop, Cline, and other MCP-enabled applications.\\nBuilt with [FastMCP](https://github.com/mcp/fastmcp) for the MCP server implementation and [Agno](https://github.com/agno-agi/agno) for AI agent capabilities.\\n\\n## Features\\n\\n- 🤖 **Multi-Provider Support**: Access 20+ AI providers through a single interface\\n- 📝 **Text Generation**: Generate text using models from OpenAI, Anthropic, Google, and more\\n- 🎨 **Image Generation**: Create images using DALL-E 3 and DALL-E 2\\n- 🔧 **Simple API**: Consistent interface with just three parameters: provider, model, and prompt\\n- 🔑 **Flexible Authentication**: Only configure API keys for the providers you use\\n\\n## Configuration\\n\\nAdd the following configuration to your MCP client. Consult your MCP client's documentation for specific configuration details.\\n\\n```json\\n{\\n \\\"mcpServers\\\": {\\n \\\"outsource-mcp\\\": {\\n \\\"command\\\": \\\"uvx\\\",\\n \\\"args\\\": [\\\"--from\\\", \\\"git+https://github.com/gwbischof/outsource-mcp.git\\\", \\\"outsource-mcp\\\"],\\n \\\"env\\\": {\\n \\\"OPENAI_API_KEY\\\": \\\"your-openai-key\\\",\\n \\\"ANTHROPIC_API_KEY\\\": \\\"your-anthropic-key\\\",\\n \\\"GOOGLE_API_KEY\\\": \\\"your-google-key\\\",\\n \\\"GROQ_API_KEY\\\": \\\"your-groq-key\\\",\\n \\\"DEEPSEEK_API_KEY\\\": \\\"your-deepseek-key\\\",\\n \\\"XAI_API_KEY\\\": \\\"your-xai-key\\\",\\n \\\"PERPLEXITY_API_KEY\\\": \\\"your-perplexity-key\\\",\\n \\\"COHERE_API_KEY\\\": \\\"your-cohere-key\\\",\\n \\\"FIREWORKS_API_KEY\\\": \\\"your-fireworks-key\\\",\\n \\\"HUGGINGFACE_API_KEY\\\": \\\"your-huggingface-key\\\",\\n \\\"MISTRAL_API_KEY\\\": \\\"your-mistral-key\\\",\\n \\\"NVIDIA_API_KEY\\\": \\\"your-nvidia-key\\\",\\n \\\"OLLAMA_HOST\\\": \\\"http://localhost:11434\\\",\\n \\\"OPENROUTER_API_KEY\\\": \\\"your-openrouter-key\\\",\\n \\\"TOGETHER_API_KEY\\\": \\\"your-together-key\\\",\\n \\\"CEREBRAS_API_KEY\\\": \\\"your-cerebras-key\\\",\\n \\\"DEEPINFRA_API_KEY\\\": \\\"your-deepinfra-key\\\",\\n \\\"SAMBANOVA_API_KEY\\\": \\\"your-sambanova-key\\\"\\n }\\n }\\n }\\n}\\n```\\n\\nNote: The environment variables are optional. Only include the API keys for the providers you want to use.\\n\\n## Quick Start\\n\\nOnce installed and configured, you can use the tools in your MCP client:\\n\\n1. **Generate text**: Use the `outsource_text` tool with provider \\\"openai\\\", model \\\"gpt-4o-mini\\\", and prompt \\\"Write a haiku about coding\\\"\\n2. **Generate images**: Use the `outsource_image` tool with provider \\\"openai\\\", model \\\"dall-e-3\\\", and prompt \\\"A futuristic city skyline at sunset\\\"\\n\\n## Tools\\n\\n### outsource_text\\nCreates an Agno agent with a specified provider and model to generate text responses. \\n\\n**Arguments:**\\n- `provider`: The provider name (e.g., \\\"openai\\\", \\\"anthropic\\\", \\\"google\\\", \\\"groq\\\", etc.)\\n- `model`: The model name (e.g., \\\"gpt-4o\\\", \\\"claude-3-5-sonnet-20241022\\\", \\\"gemini-2.0-flash-exp\\\")\\n- `prompt`: The text prompt to send to the model\\n\\n### outsource_image\\nGenerates images using AI models.\\n\\n**Arguments:**\\n- `provider`: The provider name (currently only \\\"openai\\\" is supported)\\n- `model`: The model name (\\\"dall-e-3\\\" or \\\"dall-e-2\\\")\\n- `prompt`: The image generation prompt\\n\\nReturns the URL of the generated image.\\n\\n> **Note**: Image generation is currently only supported by OpenAI models (DALL-E 2 and DALL-E 3). Other providers only support text generation.\\n\\n## Supported Providers\\n\\nThe following providers are supported. Use the provider name (in parentheses) as the `provider` argument:\\n\\n### Core Providers\\n- **OpenAI** (`openai`) - GPT-4, GPT-3.5, DALL-E, etc. | [Models](https://platform.openai.com/docs/models)\\n- **Anthropic** (`anthropic`) - Claude 3.5, Claude 3, etc. | [Models](https://docs.anthropic.com/en/docs/about-claude/models/overview)\\n- **Google** (`google`) - Gemini Pro, Gemini Flash, etc. | [Models](https://ai.google.dev/models)\\n- **Groq** (`groq`) - Llama 3, Mixtral, etc. | [Models](https://console.groq.com/docs/models)\\n- **DeepSeek** (`deepseek`) - DeepSeek Chat & Coder | [Models](https://api-docs.deepseek.com/api/list-models)\\n- **xAI** (`xai`) - Grok models | [Models](https://docs.x.ai/docs/models)\\n- **Perplexity** (`perplexity`) - Sonar models | [Models](https://docs.perplexity.ai/guides/model-cards)\\n\\n### Additional Providers\\n- **Cohere** (`cohere`) - Command models | [Models](https://docs.cohere.com/v2/docs/models)\\n- **Mistral AI** (`mistral`) - Mistral Large, Medium, Small | [Models](https://docs.mistral.ai/getting-started/models/models_overview/)\\n- **NVIDIA** (`nvidia`) - Various models | [Models](https://build.nvidia.com/models)\\n- **HuggingFace** (`huggingface`) - Open source models | [Models](https://huggingface.co/models)\\n- **Ollama** (`ollama`) - Local models | [Models](https://ollama.com/library)\\n- **Fireworks AI** (`fireworks`) - Fast inference | [Models](https://fireworks.ai/models?view=list)\\n- **OpenRouter** (`openrouter`) - Multi-provider access | [Models](https://openrouter.ai/docs/overview/models)\\n- **Together AI** (`together`) - Open source models | [Models](https://docs.together.ai/docs/serverless-models)\\n- **Cerebras** (`cerebras`) - Fast inference | [Models](https://cerebras.ai/models)\\n- **DeepInfra** (`deepinfra`) - Optimized models | [Models](https://deepinfra.com/docs/models)\\n- **SambaNova** (`sambanova`) - Enterprise models | [Models](https://docs.sambanova.ai/cloud/docs/get-started/supported-models)\\n\\n### Enterprise Providers\\n- **AWS Bedrock** (`aws` or `bedrock`) - AWS-hosted models | [Models](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html)\\n- **Azure AI** (`azure`) - Azure-hosted models | [Models](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/foundry-models-overview)\\n- **IBM WatsonX** (`ibm` or `watsonx`) - IBM models | [Models](https://www.ibm.com/docs/en/software-hub/5.1.x?topic=install-foundation-models)\\n- **LiteLLM** (`litellm`) - Universal interface | [Models](https://docs.litellm.ai/docs/providers)\\n- **Vercel v0** (`vercel` or `v0`) - Vercel AI | [Models](https://sdk.vercel.ai/docs/introduction)\\n- **Meta Llama** (`meta`) - Direct Meta access | [Models](https://www.llama.com/get-started/)\\n\\n### Environment Variables\\n\\nEach provider requires its corresponding API key:\\n\\n| Provider | Environment Variable | Example |\\n|----------|---------------------|---------|\\n| OpenAI | `OPENAI_API_KEY` | sk-... |\\n| Anthropic | `ANTHROPIC_API_KEY` | sk-ant-... |\\n| Google | `GOOGLE_API_KEY` | AIza... |\\n| Groq | `GROQ_API_KEY` | gsk_... |\\n| DeepSeek | `DEEPSEEK_API_KEY` | sk-... |\\n| xAI | `XAI_API_KEY` | xai-... |\\n| Perplexity | `PERPLEXITY_API_KEY` | pplx-... |\\n| Cohere | `COHERE_API_KEY` | ... |\\n| Fireworks | `FIREWORKS_API_KEY` | ... |\\n| HuggingFace | `HUGGINGFACE_API_KEY` | hf_... |\\n| Mistral | `MISTRAL_API_KEY` | ... |\\n| NVIDIA | `NVIDIA_API_KEY` | nvapi-... |\\n| Ollama | `OLLAMA_HOST` | http://localhost:11434 |\\n| OpenRouter | `OPENROUTER_API_KEY` | ... |\\n| Together | `TOGETHER_API_KEY` | ... |\\n| Cerebras | `CEREBRAS_API_KEY` | ... |\\n| DeepInfra | `DEEPINFRA_API_KEY` | ... |\\n| SambaNova | `SAMBANOVA_API_KEY` | ... |\\n| AWS Bedrock | AWS credentials | Via AWS CLI/SDK |\\n| Azure AI | Azure credentials | Via Azure CLI/SDK |\\n| IBM WatsonX | `IBM_WATSONX_API_KEY` | ... |\\n| Meta Llama | `LLAMA_API_KEY` | ... |\\n\\n**Note**: Only configure the API keys for providers you plan to use.\\n\\n## Examples\\n\\n### Text Generation\\n```\\n# Using OpenAI\\nprovider: openai\\nmodel: gpt-4o-mini\\nprompt: Write a haiku about coding\\n\\n# Using Anthropic\\nprovider: anthropic\\nmodel: claude-3-5-sonnet-20241022\\nprompt: Explain quantum computing in simple terms\\n\\n# Using Google\\nprovider: google\\nmodel: gemini-2.0-flash-exp\\nprompt: Create a recipe for chocolate chip cookies\\n```\\n\\n### Image Generation\\n```\\n# Using DALL-E 3\\nprovider: openai\\nmodel: dall-e-3\\nprompt: A serene Japanese garden with cherry blossoms\\n\\n# Using DALL-E 2\\nprovider: openai\\nmodel: dall-e-2\\nprompt: A futuristic cityscape at sunset\\n```\\n\\n## Development\\n\\n### Prerequisites\\n\\n- Python 3.11 or higher\\n- [uv](https://github.com/astral-sh/uv) package manager\\n\\n### Setup\\n\\n```bash\\ngit clone https://github.com/gwbischof/outsource-mcp.git\\ncd outsource-mcp\\nuv sync\\n```\\n\\n### Testing with MCP Inspector\\n\\nThe MCP Inspector allows you to test the server interactively:\\n\\n```bash\\nmcp dev server.py\\n```\\n\\n### Running Tests\\n\\nThe test suite includes integration tests that verify both text and image generation:\\n\\n```bash\\n# Run all tests\\nuv run pytest\\n```\\n\\n**Note:** Integration tests require API keys to be set in your environment.\\n\\n## Troubleshooting\\n\\n### Common Issues\\n\\n1. **\\\"Error: Unknown provider\\\"**\\n - Check that you're using a supported provider name from the list above\\n - Provider names are case-insensitive\\n\\n2. **\\\"Error: OpenAI API error\\\"** \\n - Verify your API key is correctly set in the environment variables\\n - Check that your API key has access to the requested model\\n - Ensure you have sufficient credits/quota\\n\\n3. **\\\"Error: No image was generated\\\"**\\n - This can happen if the image generation request fails\\n - Try a simpler prompt or different model (dall-e-2 vs dall-e-3)\\n\\n4. **Environment variables not working**\\n - Make sure to restart your MCP client after updating the configuration\\n - Verify the configuration file location for your specific MCP client\\n - Check that the environment variables are properly formatted in the configuration\\n\\n## Contributing\\n\\nContributions are welcome! Please feel free to submit a Pull Request.\\n\",\n \"category\": \"AI Tools\",\n \"archestra_config\": {\n \"client_config_permutations\": {\n \"outsource-mcp\": {\n \"command\": \"uvx\",\n \"args\": [\"--from\", \"git+https://github.com/gwbischof/outsource-mcp.git\", \"outsource-mcp\"],\n \"env\": {\n \"OPENAI_API_KEY\": \"your-openai-key\",\n \"ANTHROPIC_API_KEY\": \"your-anthropic-key\",\n \"GOOGLE_API_KEY\": \"your-google-key\",\n \"GROQ_API_KEY\": \"your-groq-key\",\n \"DEEPSEEK_API_KEY\": \"your-deepseek-key\",\n \"XAI_API_KEY\": \"your-xai-key\",\n \"PERPLEXITY_API_KEY\": \"your-perplexity-key\",\n \"COHERE_API_KEY\": \"your-cohere-key\",\n \"FIREWORKS_API_KEY\": \"your-fireworks-key\",\n \"HUGGINGFACE_API_KEY\": \"your-huggingface-key\",\n \"MISTRAL_API_KEY\": \"your-mistral-key\",\n \"NVIDIA_API_KEY\": \"your-nvidia-key\",\n \"OLLAMA_HOST\": \"http://localhost:11434\",\n \"OPENROUTER_API_KEY\": \"your-openrouter-key\",\n \"TOGETHER_API_KEY\": \"your-together-key\",\n \"CEREBRAS_API_KEY\": \"your-cerebras-key\",\n \"DEEPINFRA_API_KEY\": \"your-deepinfra-key\",\n \"SAMBANOVA_API_KEY\": \"your-sambanova-key\"\n }\n }\n },\n \"oauth\": {\n \"provider\": null,\n \"required\": false\n },\n \"works_in_archestra\": false\n },\n \"github_info\": {\n \"owner\": \"gwbischof\",\n \"repo\": \"outsource-mcp\",\n \"url\": \"https://github.com/gwbischof/outsource-mcp\",\n \"name\": \"gwbischof__outsource-mcp\",\n \"path\": null,\n \"stars\": 22,\n \"contributors\": 1,\n \"issues\": 0,\n \"releases\": false,\n \"ci_cd\": false,\n \"latest_commit_hash\": \"70e7b6b4031d1819fad18ee313fb6ec16e126b92\"\n },\n \"programming_language\": \"Python\"\n}\n"}}, "mcp-catalog/data/mcp-evaluations/othmaneblial__term_mcp_deepseek.json": {"285a975cae91486d95d223be9507021e7d70ac46": {"t": 1785745300.3981304, "n": 5298, "h": "bb04f9f56e5c09b6", "c": "{\n \"name\": \"othmaneblial__term_mcp_deepseek\",\n \"display_name\": \"term_mcp_deepseek\",\n \"description\": \"A MCP‑like server using the DeepSeek API for Terminal\",\n \"author\": {\n \"name\": \"OthmaneBlial\"\n },\n \"server\": {\n \"command\": \"python\",\n \"args\": [\"${__dirname}/server.py\"],\n \"env\": {\n \"DEEPSEEK_API_KEY\": \"${user_config.deepseek_api_key}\"\n },\n \"type\": \"local\"\n },\n \"tools\": [],\n \"prompts\": [],\n \"keywords\": [],\n \"user_config\": {\n \"deepseek_api_key\": {\n \"type\": \"string\",\n \"title\": \"DeepSeek API Key\",\n \"description\": \"Your DeepSeek API key for authentication.\",\n \"sensitive\": true,\n \"required\": true\n }\n },\n \"readme\": \"# DeepSeek MCP-like Server for Terminal\\n\\n[![Trust Score](https://archestra.ai/mcp-catalog/api/badge/quality/OthmaneBlial/term_mcp_deepseek)](https://archestra.ai/mcp-catalog/othmaneblial__term_mcp_deepseek)\\nThis project is a prototype implementation of an MCP‑like server using the DeepSeek API. It aims to demonstrate the core concepts behind the Model Context Protocol (MCP) by exposing endpoints that allow AI assistants to:\\n \\n- List available tools.\\n- Invoke commands on an active shell session.\\n- Integrate with an AI chat (DeepSeek) that can include special instructions (e.g., `CMD:` lines) to trigger command execution.\\n\\n> **Note:** While this implementation captures many of the MCP ideas, it is not yet a fully compliant MCP server as defined by Anthropic. It is designed as a proof-of-concept, and further enhancements (e.g., JSON‑RPC protocol support, real‑time updates via SSE, session management, and improved security) would be needed for production use.\\n\\n## Features\\n\\n- **Chat Interface:** \\n A simple web-based chat client (using Flask and Tailwind CSS) where users can interact with the server.\\n\\n- **AI Integration:** \\n Uses the DeepSeek API to generate responses. The AI can instruct the server to execute terminal commands by including lines beginning with `CMD:`.\\n\\n- **Terminal Command Execution:** \\n Executes shell commands via a persistent Bash session using the `pexpect` library and returns output to the client.\\n\\n- **MCP Endpoints:** \\n Provides `/mcp/list_tools` and `/mcp/call_tool` endpoints that mimic MCP tool discovery and invocation.\\n\\n## Getting Started\\n\\n### Prerequisites\\n\\n- Python 3.8+\\n- [pip](https://pip.pypa.io/)\\n- A valid DeepSeek API key\\n\\n### Installation\\n\\n1. **Clone the repository:**\\n\\n ```bash\\n git clone https://github.com/OthmaneBlial/term_mcp_deepseek.git\\n cd term_mcp_deepseek\\n ```\\n\\n2. **Create and activate a virtual environment:**\\n\\n ```bash\\n python3 -m venv venv\\n source venv/bin/activate # On Windows, use `venv\\\\Scripts\\\\activate`\\n ```\\n\\n3. **Install the required dependencies:**\\n\\n ```bash\\n pip install -r requirements.txt\\n ```\\n\\n4. **Configure your API key:**\\n\\n Update the `DEEPSEEK_API_KEY` in `.env` with your DeepSeek API key.\\n\\n### Running the Server\\n\\nRun the Flask server with:\\n\\n```bash\\npython server.py\\n```\\n\\nVisit [http://127.0.0.1:5000](http://127.0.0.1:5000) to access the chat interface.\\n\\n## Endpoints\\n\\n### Chat Endpoint\\n- **URL:** `/chat`\\n- **Method:** `POST`\\n- **Payload:** `{ \\\"message\\\": \\\"your message here\\\" }`\\n- **Description:** \\n Adds the user message to the conversation, sends it to the DeepSeek API, looks for any command instructions (`CMD:`), executes them, and returns the final response.\\n\\n### MCP Endpoints\\n\\n#### List Tools\\n- **URL:** `/mcp/list_tools`\\n- **Method:** `POST`\\n- **Response:** \\n JSON listing available tools (e.g., `write_to_terminal`, `read_terminal_output`, `send_control_character`).\\n\\n#### Call Tool\\n- **URL:** `/mcp/call_tool`\\n- **Method:** `POST`\\n- **Payload:** \\n ```json\\n {\\n \\\"name\\\": \\\"tool_name\\\",\\n \\\"arguments\\\": { ... }\\n }\\n ```\\n- **Description:** \\n Directly invoke a tool command on the server.\\n\\n## Future Improvements\\n\\n- **Protocol Standardization:** \\n Implement JSON‑RPC for a more robust and standardized communication protocol.\\n\\n- **Real-time Communication:** \\n Add Server‑Sent Events (SSE) or WebSockets for live command output streaming.\\n\\n- **Session & Security Enhancements:** \\n Introduce per‑user sessions, proper authentication, input sanitization, and comprehensive error handling.\\n\\n- **Modular Code Architecture:** \\n Further separate API logic from business logic for better maintainability and scalability.\\n\\n## License\\n\\nThis project is open-source and available under the [MIT License](LICENSE).\\n\\n\",\n \"category\": \"AI Tools\",\n \"archestra_config\": {\n \"client_config_permutations\": {\n \"term-mcp-deepseek\": {\n \"command\": \"python\",\n \"args\": [\"server.py\"],\n \"env\": {}\n }\n },\n \"oauth\": {\n \"provider\": null,\n \"required\": false\n },\n \"works_in_archestra\": false\n },\n \"github_info\": {\n \"owner\": \"OthmaneBlial\",\n \"repo\": \"term_mcp_deepseek\",\n \"url\": \"https://github.com/OthmaneBlial/term_mcp_deepseek\",\n \"name\": \"othmaneblial__term_mcp_deepseek\",\n \"path\": null,\n \"stars\": 12,\n \"contributors\": 2,\n \"issues\": 0,\n \"releases\": false,\n \"ci_cd\": false,\n \"latest_commit_hash\": \"bc1836705bb5c6deb5bf8cb8e6a9a159895045a3\"\n },\n \"programming_language\": \"Python\"\n}\n"}, "649d7ed1a02af2490f281b74f479cda426d3c62f": {"t": 1785749855.80199, "n": 5298, "h": "bb04f9f56e5c09b6", "c": "{\n \"name\": \"othmaneblial__term_mcp_deepseek\",\n \"display_name\": \"term_mcp_deepseek\",\n \"description\": \"A MCP‑like server using the DeepSeek API for Terminal\",\n \"author\": {\n \"name\": \"OthmaneBlial\"\n },\n \"server\": {\n \"command\": \"python\",\n \"args\": [\"${__dirname}/server.py\"],\n \"env\": {\n \"DEEPSEEK_API_KEY\": \"${user_config.deepseek_api_key}\"\n },\n \"type\": \"local\"\n },\n \"tools\": [],\n \"prompts\": [],\n \"keywords\": [],\n \"user_config\": {\n \"deepseek_api_key\": {\n \"type\": \"string\",\n \"title\": \"DeepSeek API Key\",\n \"description\": \"Your DeepSeek API key for authentication.\",\n \"sensitive\": true,\n \"required\": true\n }\n },\n \"readme\": \"# DeepSeek MCP-like Server for Terminal\\n\\n[![Trust Score](https://archestra.ai/mcp-catalog/api/badge/quality/OthmaneBlial/term_mcp_deepseek)](https://archestra.ai/mcp-catalog/othmaneblial__term_mcp_deepseek)\\nThis project is a prototype implementation of an MCP‑like server using the DeepSeek API. It aims to demonstrate the core concepts behind the Model Context Protocol (MCP) by exposing endpoints that allow AI assistants to:\\n \\n- List available tools.\\n- Invoke commands on an active shell session.\\n- Integrate with an AI chat (DeepSeek) that can include special instructions (e.g., `CMD:` lines) to trigger command execution.\\n\\n> **Note:** While this implementation captures many of the MCP ideas, it is not yet a fully compliant MCP server as defined by Anthropic. It is designed as a proof-of-concept, and further enhancements (e.g., JSON‑RPC protocol support, real‑time updates via SSE, session management, and improved security) would be needed for production use.\\n\\n## Features\\n\\n- **Chat Interface:** \\n A simple web-based chat client (using Flask and Tailwind CSS) where users can interact with the server.\\n\\n- **AI Integration:** \\n Uses the DeepSeek API to generate responses. The AI can instruct the server to execute terminal commands by including lines beginning with `CMD:`.\\n\\n- **Terminal Command Execution:** \\n Executes shell commands via a persistent Bash session using the `pexpect` library and returns output to the client.\\n\\n- **MCP Endpoints:** \\n Provides `/mcp/list_tools` and `/mcp/call_tool` endpoints that mimic MCP tool discovery and invocation.\\n\\n## Getting Started\\n\\n### Prerequisites\\n\\n- Python 3.8+\\n- [pip](https://pip.pypa.io/)\\n- A valid DeepSeek API key\\n\\n### Installation\\n\\n1. **Clone the repository:**\\n\\n ```bash\\n git clone https://github.com/OthmaneBlial/term_mcp_deepseek.git\\n cd term_mcp_deepseek\\n ```\\n\\n2. **Create and activate a virtual environment:**\\n\\n ```bash\\n python3 -m venv venv\\n source venv/bin/activate # On Windows, use `venv\\\\Scripts\\\\activate`\\n ```\\n\\n3. **Install the required dependencies:**\\n\\n ```bash\\n pip install -r requirements.txt\\n ```\\n\\n4. **Configure your API key:**\\n\\n Update the `DEEPSEEK_API_KEY` in `.env` with your DeepSeek API key.\\n\\n### Running the Server\\n\\nRun the Flask server with:\\n\\n```bash\\npython server.py\\n```\\n\\nVisit [http://127.0.0.1:5000](http://127.0.0.1:5000) to access the chat interface.\\n\\n## Endpoints\\n\\n### Chat Endpoint\\n- **URL:** `/chat`\\n- **Method:** `POST`\\n- **Payload:** `{ \\\"message\\\": \\\"your message here\\\" }`\\n- **Description:** \\n Adds the user message to the conversation, sends it to the DeepSeek API, looks for any command instructions (`CMD:`), executes them, and returns the final response.\\n\\n### MCP Endpoints\\n\\n#### List Tools\\n- **URL:** `/mcp/list_tools`\\n- **Method:** `POST`\\n- **Response:** \\n JSON listing available tools (e.g., `write_to_terminal`, `read_terminal_output`, `send_control_character`).\\n\\n#### Call Tool\\n- **URL:** `/mcp/call_tool`\\n- **Method:** `POST`\\n- **Payload:** \\n ```json\\n {\\n \\\"name\\\": \\\"tool_name\\\",\\n \\\"arguments\\\": { ... }\\n }\\n ```\\n- **Description:** \\n Directly invoke a tool command on the server.\\n\\n## Future Improvements\\n\\n- **Protocol Standardization:** \\n Implement JSON‑RPC for a more robust and standardized communication protocol.\\n\\n- **Real-time Communication:** \\n Add Server‑Sent Events (SSE) or WebSockets for live command output streaming.\\n\\n- **Session & Security Enhancements:** \\n Introduce per‑user sessions, proper authentication, input sanitization, and comprehensive error handling.\\n\\n- **Modular Code Architecture:** \\n Further separate API logic from business logic for better maintainability and scalability.\\n\\n## License\\n\\nThis project is open-source and available under the [MIT License](LICENSE).\\n\\n\",\n \"category\": \"AI Tools\",\n \"archestra_config\": {\n \"client_config_permutations\": {\n \"term-mcp-deepseek\": {\n \"command\": \"python\",\n \"args\": [\"server.py\"],\n \"env\": {}\n }\n },\n \"oauth\": {\n \"provider\": null,\n \"required\": false\n },\n \"works_in_archestra\": false\n },\n \"github_info\": {\n \"owner\": \"OthmaneBlial\",\n \"repo\": \"term_mcp_deepseek\",\n \"url\": \"https://github.com/OthmaneBlial/term_mcp_deepseek\",\n \"name\": \"othmaneblial__term_mcp_deepseek\",\n \"path\": null,\n \"stars\": 12,\n \"contributors\": 2,\n \"issues\": 0,\n \"releases\": false,\n \"ci_cd\": false,\n \"latest_commit_hash\": \"bc1836705bb5c6deb5bf8cb8e6a9a159895045a3\"\n },\n \"programming_language\": \"Python\"\n}\n"}, "cc332427558a1893247db3d7326d59192f4fd1bb": {"t": 1785749856.984658, "n": 6167, "h": "5b363adead04dea7", "c": "{\n \"name\": \"othmaneblial__term_mcp_deepseek\",\n \"display_name\": \"term_mcp_deepseek\",\n \"description\": \"A MCP‑like server using the DeepSeek API for Terminal\",\n \"author\": {\n \"name\": \"OthmaneBlial\"\n },\n \"server\": {\n \"command\": \"python\",\n \"args\": [\"${__dirname}/server.py\"],\n \"env\": {\n \"DEEPSEEK_API_KEY\": \"${user_config.deepseek_api_key}\"\n },\n \"type\": \"local\"\n },\n \"tools\": [],\n \"prompts\": [],\n \"keywords\": [],\n \"user_config\": {\n \"deepseek_api_key\": {\n \"type\": \"string\",\n \"title\": \"DeepSeek API Key\",\n \"description\": \"Your DeepSeek API key for authentication.\",\n \"sensitive\": true,\n \"required\": true\n }\n },\n \"readme\": \"# DeepSeek MCP-like Server for Terminal\\n\\n[![Trust Score](https://archestra.ai/mcp-catalog/api/badge/quality/OthmaneBlial/term_mcp_deepseek)](https://archestra.ai/mcp-catalog/othmaneblial__term_mcp_deepseek)\\nThis project is a prototype implementation of an MCP‑like server using the DeepSeek API. It aims to demonstrate the core concepts behind the Model Context Protocol (MCP) by exposing endpoints that allow AI assistants to:\\n \\n- List available tools.\\n- Invoke commands on an active shell session.\\n- Integrate with an AI chat (DeepSeek) that can include special instructions (e.g., `CMD:` lines) to trigger command execution.\\n\\n> **Note:** While this implementation captures many of the MCP ideas, it is not yet a fully compliant MCP server as defined by Anthropic. It is designed as a proof-of-concept, and further enhancements (e.g., JSON‑RPC protocol support, real‑time updates via SSE, session management, and improved security) would be needed for production use.\\n\\n## Features\\n\\n- **Chat Interface:** \\n A simple web-based chat client (using Flask and Tailwind CSS) where users can interact with the server.\\n\\n- **AI Integration:** \\n Uses the DeepSeek API to generate responses. The AI can instruct the server to execute terminal commands by including lines beginning with `CMD:`.\\n\\n- **Terminal Command Execution:** \\n Executes shell commands via a persistent Bash session using the `pexpect` library and returns output to the client.\\n\\n- **MCP Endpoints:** \\n Provides `/mcp/list_tools` and `/mcp/call_tool` endpoints that mimic MCP tool discovery and invocation.\\n\\n## Getting Started\\n\\n### Prerequisites\\n\\n- Python 3.8+\\n- [pip](https://pip.pypa.io/)\\n- A valid DeepSeek API key\\n\\n### Installation\\n\\n1. **Clone the repository:**\\n\\n ```bash\\n git clone https://github.com/OthmaneBlial/term_mcp_deepseek.git\\n cd term_mcp_deepseek\\n ```\\n\\n2. **Create and activate a virtual environment:**\\n\\n ```bash\\n python3 -m venv venv\\n source venv/bin/activate # On Windows, use `venv\\\\Scripts\\\\activate`\\n ```\\n\\n3. **Install the required dependencies:**\\n\\n ```bash\\n pip install -r requirements.txt\\n ```\\n\\n4. **Configure your API key:**\\n\\n Update the `DEEPSEEK_API_KEY` in `.env` with your DeepSeek API key.\\n\\n### Running the Server\\n\\nRun the Flask server with:\\n\\n```bash\\npython server.py\\n```\\n\\nVisit [http://127.0.0.1:5000](http://127.0.0.1:5000) to access the chat interface.\\n\\n## Endpoints\\n\\n### Chat Endpoint\\n- **URL:** `/chat`\\n- **Method:** `POST`\\n- **Payload:** `{ \\\"message\\\": \\\"your message here\\\" }`\\n- **Description:** \\n Adds the user message to the conversation, sends it to the DeepSeek API, looks for any command instructions (`CMD:`), executes them, and returns the final response.\\n\\n### MCP Endpoints\\n\\n#### List Tools\\n- **URL:** `/mcp/list_tools`\\n- **Method:** `POST`\\n- **Response:** \\n JSON listing available tools (e.g., `write_to_terminal`, `read_terminal_output`, `send_control_character`).\\n\\n#### Call Tool\\n- **URL:** `/mcp/call_tool`\\n- **Method:** `POST`\\n- **Payload:** \\n ```json\\n {\\n \\\"name\\\": \\\"tool_name\\\",\\n \\\"arguments\\\": { ... }\\n }\\n ```\\n- **Description:** \\n Directly invoke a tool command on the server.\\n\\n## Future Improvements\\n\\n- **Protocol Standardization:** \\n Implement JSON‑RPC for a more robust and standardized communication protocol.\\n\\n- **Real-time Communication:** \\n Add Server‑Sent Events (SSE) or WebSockets for live command output streaming.\\n\\n- **Session & Security Enhancements:** \\n Introduce per‑user sessions, proper authentication, input sanitization, and comprehensive error handling.\\n\\n- **Modular Code Architecture:** \\n Further separate API logic from business logic for better maintainability and scalability.\\n\\n## License\\n\\nThis project is open-source and available under the [MIT License](LICENSE).\\n\\n\",\n \"category\": \"AI Tools\",\n \"quality_score\": 43,\n \"archestra_config\": {\n \"client_config_permutations\": {\n \"term-mcp-deepseek\": {\n \"command\": \"python\",\n \"args\": [\"server.py\"],\n \"env\": {}\n }\n },\n \"oauth\": {\n \"provider\": null,\n \"required\": false\n },\n \"works_in_archestra\": false\n },\n \"github_info\": {\n \"owner\": \"OthmaneBlial\",\n \"repo\": \"term_mcp_deepseek\",\n \"url\": \"https://github.com/OthmaneBlial/term_mcp_deepseek\",\n \"name\": \"othmaneblial__term_mcp_deepseek\",\n \"path\": null,\n \"stars\": 12,\n \"contributors\": 2,\n \"issues\": 0,\n \"releases\": false,\n \"ci_cd\": false,\n \"latest_commit_hash\": \"bc1836705bb5c6deb5bf8cb8e6a9a159895045a3\"\n },\n \"programming_language\": \"Python\",\n \"framework\": null,\n \"last_scraped_at\": \"2025-09-09T13:05:22.000Z\",\n \"evaluation_model\": \"gemini-2.5-flash\",\n \"protocol_features\": {\n \"implementing_tools\": true,\n \"implementing_prompts\": false,\n \"implementing_resources\": false,\n \"implementing_sampling\": true,\n \"implementing_roots\": false,\n \"implementing_logging\": false,\n \"implementing_stdio\": false,\n \"implementing_streamable_http\": false,\n \"implementing_oauth2\": false\n },\n \"dependencies\": [\n {\n \"name\": \"Flask\",\n \"importance\": 10\n },\n {\n \"name\": \"pexpect\",\n \"importance\": 9\n },\n {\n \"name\": \"psutil\",\n \"importance\": 6\n },\n {\n \"name\": \"python-dotenv\",\n \"importance\": 4\n }\n ],\n \"raw_dependencies\": \"=== requirements.txt ===\\nFlask==2.3.3\\npexpect==4.8.0\\npsutil==5.9.5\\npython-dotenv==1.0.0 \\n\"\n}\n"}}}}