diff --git a/.devcontainer/opencode.json b/.devcontainer/opencode.json index fd22f627f..8c262898e 100644 --- a/.devcontainer/opencode.json +++ b/.devcontainer/opencode.json @@ -2,107 +2,68 @@ "$schema": "https://opencode.ai/config.json", "permission": "allow", "mcp": { - "devcontainers": { - "type": "local", - "command": ["npx", "-y", "@crunchloop/mcp-devcontainers"], - "enabled": true - }, - "tofu": { - "type": "local", - "command": ["npx", "@opentofu/opentofu-mcp-server"], - "enabled": true - }, - "filesystem": { - "type": "local", - "command": ["npx", "@modelcontextprotocol/server-filesystem", "/app"], - "enabled": true - }, - "forgejo": { - "type": "local", - "command": ["/usr/local/bin/forgejo-mcp", "-t", "stdio", "-url", "https://git.cleverthis.com", "-token", "{env:FORGEJO_PAT}"], - "environment": { - "FORGEJO_HOST": "https://git.cleverthis.com", - "FORGEJO_ACCESS_TOKEN": "{env:FORGEJO_PAT}" - }, - "enabled": true - }, - "test-runner": { - "type": "local", - "command": ["/usr/local/bin/mcp-test-runner"], - "enabled": true - }, - "dev-kit": { - "type": "local", - "command": ["uvx", "dev-kit-mcp-server", "--root-dir=/app"], - "enabled": true - }, - "venv-management": { - "type": "local", - "command": ["uvx", "--from=git+https://github.com/sparfenyuk/venv-mcp-server.git", "venv-mcp-server"], - "enabled": true - }, - "uv": { - "type": "local", - "command": ["uvx", "uv-mcp"], - "enabled": true - }, - "ruff": { - "type": "local", - "command": ["ruff-mcp-server"], - "enabled": true - }, "context7": { "type": "local", "command": ["npx", "-y", "@upstash/context7-mcp"], "enabled": true }, - "memory": { - "type": "local", - "command": ["npx", "@modelcontextprotocol/server-memory"], - "enabled": true - }, - "git": { - "type": "local", - "command": ["uvx", "mcp-server-git", "--repository", "/app"], - "enabled": true - }, - "fetch": { - "type": "local", - "command": ["uvx", "mcp-server-fetch"], - "enabled": true - }, "sequential-thinking": { "type": "local", "command": ["npx", "@modelcontextprotocol/server-sequential-thinking"], "enabled": true }, - "pyright-mcp": { - "type": "local", - "command": ["npx", "@treedy/pyright-mcp"], - "enabled": true - }, - "docker": { - "type": "local", - "command": ["npx", "mcp-server-docker"], - "enabled": true - }, - "sqlite": { - "type": "local", - "command": ["uvx", "mcp-server-sqlite"], - "enabled": true - }, - "postgres": { - "type": "local", - "command": ["npx", "-y", "@modelcontextprotocol/server-postgres"], - "environment": { - "POSTGRES_CONNECTION_STRING": "{env:POSTGRES_CONNECTION_STRING}" + }, + "provider": { + "CleverThis-1": { + "npm": "@ai-sdk/openai-compatible", + "options": { + "baseURL": "https://bvx6otgvwg2ulrqp.us-east-2.aws.endpoints.huggingface.cloud/v1", + "apiKey": "{env:HF_TOKEN}", + "headers": { + "X-HF-Bill-To": "CleverThis", + "Authorization": "Bearer {env:HF_TOKEN}", + } }, - "enabled": true + "models": { + "Qwen/Qwen3.6-35B-A3B": { + "name": "Qwen 3.6 35b A3B", + "tools": true + } + } }, - "semgrep": { - "type": "local", - "command": ["semgrep", "mcp"], - "enabled": true + "CleverThis-2": { + "npm": "@ai-sdk/openai-compatible", + "options": { + "baseURL": "https://uwrztmmzueq75pt6.us-east-1.aws.endpoints.huggingface.cloud/v1", + "apiKey": "{env:HF_TOKEN}", + "headers": { + "X-HF-Bill-To": "CleverThis", + "Authorization": "Bearer {env:HF_TOKEN}", + } + }, + "models": { + "Qwen/Qwen3-Next-80B-A3B-Instruct": { + "name": "Qwen 3-Next 80b A3B Instruct", + "tools": true, + } + } + }, + "CleverThis-3": { + "npm": "@ai-sdk/openai-compatible", + "options": { + "baseURL": "https://obdke8f40n0l00nj.us-east-1.aws.endpoints.huggingface.cloud/v1", + "apiKey": "{env:HF_TOKEN}", + "headers": { + "X-HF-Bill-To": "CleverThis", + "Authorization": "Bearer {env:HF_TOKEN}", + } + }, + "models": { + "MiniMaxAI/MiniMax-M2.5": { + "name": "MiniMax M2.5", + "tools": true + } + } } } }