MCP Tools
MCP Toolz
mcp-name: io.github.taylorleese/mcp-toolz
Servidor MCP para Claude Code que proporciona herramientas de retroalimentación multi-LLM.
Características
Retroalimentación multi-LLM: Obtén segundas opiniones de ChatGPT (OpenAI), Claude (Anthropic), Gemini (Google) y DeepSeek
Integración MCP: Funciona con Claude Code a través del Protocolo de Contexto de Modelo (Model Context Protocol)
Related MCP server: Memory MCP
Inicio rápido
Instalación
Desde PyPI (Recomendado)
pip install mcp-toolzDesde el código fuente (Desarrollo)
# Clone the repository
git clone https://github.com/taylorleese/mcp-toolz.git
cd mcp-toolz
# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate # macOS/Linux
# or: venv\Scripts\activate # Windows
# Install in editable mode with dev dependencies
pip install -e ".[dev]"Configuración
# Set your API keys as environment variables (at least one required for AI feedback tools)
export OPENAI_API_KEY=sk-... # For ChatGPT
export ANTHROPIC_API_KEY=sk-ant-... # For Claude
export GOOGLE_API_KEY=... # For Gemini
export DEEPSEEK_API_KEY=sk-... # For DeepSeek
# Or create a .env file (if installing from source)
cp .env.example .env
# Edit .env and add your API keysConfiguración del servidor MCP
Añádelo a tus ajustes de MCP en Claude Code:
Si se instaló mediante pip:
{
"mcpServers": {
"mcp-toolz": {
"command": "python",
"args": ["-m", "mcp_server"],
"env": {
"OPENAI_API_KEY": "sk-...",
"ANTHROPIC_API_KEY": "sk-ant-...",
"GOOGLE_API_KEY": "...",
"DEEPSEEK_API_KEY": "sk-..."
}
}
}
}Si se instaló desde el código fuente:
{
"mcpServers": {
"mcp-toolz": {
"command": "python",
"args": ["-m", "mcp_server"],
"cwd": "/absolute/path/to/mcp-toolz",
"env": {
"PYTHONPATH": "/absolute/path/to/mcp-toolz/src"
}
}
}
}Reinicia Claude Code para cargar el servidor MCP.
Herramientas del servidor MCP
Herramientas de retroalimentación de IA
Obtén segundas opiniones de múltiples LLMs sobre código, decisiones de arquitectura y planes de implementación:
ask_chatgpt- Obtén el análisis de ChatGPT (admite preguntas personalizadas)ask_claude- Obtén el análisis de Claude (admite preguntas personalizadas)ask_gemini- Obtén el análisis de Gemini (admite preguntas personalizadas)ask_deepseek- Obtén el análisis de DeepSeek (admite preguntas personalizadas)
Habilidades de Claude Code
/resolve-github-alerts
Clasifica y resuelve automáticamente las alertas de seguridad de GitHub (Dependabot, escaneo de código, escaneo de secretos). Ejecútalo en Claude Code para:
Corregir PRs fallidos de Dependabot (problemas de lint/test)
Actualizar dependencias vulnerables y recompilar requisitos
Remediar alertas de escaneo de código y escaneo de secretos
Enviar un único PR con todas las correcciones para revisión manual
/resolve-github-alertsEjemplos de uso
Obtener múltiples perspectivas de IA
I'm deciding between Redis and Memcached for caching user sessions.
Ask ChatGPT for their analysis.Continúa con:
"Pregúntale a Claude lo mismo para comparar"
"Pregúntale a Gemini otra perspectiva"
"¿Qué piensa DeepSeek sobre esto?"
Depurar con múltiples perspectivas
I'm getting "TypeError: Cannot read property 'map' of undefined" in my React component.
The error occurs in UserList.jsx when rendering the users array.
Ask ChatGPT and Claude for debugging suggestions.Variables de entorno
# Required (at least one for AI feedback tools)
OPENAI_API_KEY=sk-... # Your OpenAI API key
ANTHROPIC_API_KEY=sk-ant-... # Your Anthropic API key
GOOGLE_API_KEY=... # Your Google API key (for Gemini)
DEEPSEEK_API_KEY=sk-... # Your DeepSeek API key
# Optional
MCP_TOOLZ_MODEL=gpt-5 # OpenAI model (default: gpt-5)
MCP_TOOLZ_CLAUDE_MODEL=claude-sonnet-4-5-20250929 # Claude model
MCP_TOOLZ_GEMINI_MODEL=gemini-2.0-flash-thinking-exp-01-21 # Gemini model
MCP_TOOLZ_DEEPSEEK_MODEL=deepseek-chat # DeepSeek modelSolución de problemas
"Error 401: Invalid API key"
Verifica que las claves de API estén configuradas en
.envo en las variables de entornoComprueba que la facturación esté habilitada en tu cuenta de proveedor de API
"No module named context_manager"
Usa
PYTHONPATH=srcantes de ejecutar Python directamenteO instálalo mediante pip:
pip install mcp-toolz
Estructura del proyecto
mcp-toolz/
├── src/
│ ├── mcp_server/ # MCP server for Claude Code
│ │ └── server.py # MCP tools and handlers
│ └── context_manager/ # Client implementations
│ ├── openai_client.py # ChatGPT API client
│ ├── anthropic_client.py # Claude API client
│ ├── gemini_client.py # Gemini API client
│ └── deepseek_client.py # DeepSeek API client
├── tests/ # pytest tests
├── requirements.in
└── requirements.txtDesarrollo
Configuración para colaboradores
# Clone and install
git clone https://github.com/taylorleese/mcp-toolz.git
cd mcp-toolz
python3 -m venv venv
source venv/bin/activate
pip install -r requirements-dev.txt
# Install pre-commit hooks (IMPORTANT!)
pre-commit install
# Copy and configure .env
cp .env.example .env
# Edit .env with your API keysEjecución de pruebas
source venv/bin/activate
pytestCalidad del código
# Run all checks (runs automatically on commit after pre-commit install)
pre-commit run --all-files
# Individual tools
black .
ruff check .
mypy src/Licencia
MIT
Available Tools
3 toolsask_chatgptA
Ask ChatGPT a question about a context, or get a general second opinion
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | The context text to analyze or ask about | |
| question | No | Optional specific question to ask about the context. If not provided, gets a general second opinion. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as response format, latency, or limitations. The description is minimal, leaving the agent uninformed about important behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded and efficient, though very short.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description should cover return values or usage constraints. It does not, leaving the agent with incomplete context for invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds value beyond the schema by explaining that the 'question' parameter is optional and that omitting it results in a general second opinion. This enhances understanding of parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Ask ChatGPT a question about a context, or get a general second opinion'. It explicitly names the AI model and differentiates from sibling tools by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for asking questions or obtaining second opinions, but lacks explicit guidance on when to prefer this tool over siblings or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ask_deepseekB
Ask DeepSeek a question about a context, or get a general second opinion
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | The context text to analyze or ask about | |
| question | No | Optional specific question to ask about the context. If not provided, gets a general second opinion. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description fails to disclose behavioral traits like response format, error handling, or required permissions. Only states basic function without additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is one clear sentence that front-loads the main action. Could be slightly expanded but is efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity and no output schema, the description is minimal but adequate for a simple query tool. However, it lacks details on response behavior, limiting full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions, and the tool description adds value by clarifying the optional nature of question (general opinion when omitted). Baseline 3 with added context yields 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Ask DeepSeek a question' and differentiates from general second opinion. It implicitly distinguishes from siblings (ask_chatgpt, ask_gemini) by naming DeepSeek but does not explicitly contrast use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs siblings. The phrase 'get a general second opinion' hints at use case but no when-not-to-use or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ask_geminiB
Ask Google Gemini a question about a context, or get a general second opinion
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | The context text to analyze or ask about | |
| question | No | Optional specific question to ask about the context. If not provided, gets a general second opinion. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It only mentions the action and modes, omitting details such as whether the tool is stateless, rate limits, permission requirements, or what happens if context is malformed. Minimal behavioral information is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the core purpose and primary use cases, earning a perfect score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no output schema, the description minimally covers the input and purpose but omits what the agent can expect as a return value or any error handling. Given the lack of annotations and output schema, the description could be more complete, though it is adequate for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already explains both parameters (context and question) adequately. The description's phrase 'general second opinion' partly echoes the schema's default behavior for missing question, adding little extra meaning. A baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (ask Gemini) and resource (Google Gemini), with two distinct use cases: asking a question about a context or getting a general second opinion. However, it does not explicitly differentiate from sibling tools like ask_chatgpt or ask_deepseek, relying on the name for distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies two usage modes but provides no guidance on when to use this tool over its siblings (ask_chatgpt, ask_deepseek) or when to choose one mode over the other. There are no explicit when-to-use or when-not-to-use instructions, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.6.1- First observed
ask_chatgpt - First observed
ask_deepseek - First observed
ask_gemini
TDQS
Scored across 3 tools
All three tools have nearly identical descriptions, only differing by the AI model name. An agent would struggle to choose between them without additional context on model preferences.
All tools follow a consistent 'ask_{model}' pattern, making naming predictable and clear.
Three tools is reasonable for a server that simply provides access to multiple AI models. It is slightly minimal but not out of place.
The tool set covers the core function of querying different AI models, but lacks features like conversation history, context management, or parameter customization, which are notable gaps.
Maintenance
Related MCP Connectors
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Shared memory for AI tools: save once, recall word for word from Claude, ChatGPT, Codex or Gemini.
Shared memory for AI coding agents. Save once, reuse from Cursor, Claude Code, Codex.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides persistent context management for Claude AI coding assistants, allowing you to save and restore conversation context, create checkpoints, and organize information across sessions to prevent losing important work history and decisions during long coding sessions.264 npm136MIT
- AlicenseAqualityBmaintenanceProvides persistent cross-session memory and full-text search for AI coding assistants, storing project context, decisions, and preferences while enabling searchable access to conversation history via local SQLite.81MIT
- AlicenseAqualityBmaintenanceProvides persistent, searchable memory across AI coding agent and chat history (Claude Code, Codex, Gemini CLI, ChatGPT, and more) via retrieval-augmented generation, enabling semantic and hybrid search to retain context across sessions.5MIT
- AlicenseNot gradedqualityBmaintenanceProvides a local long-term memory layer for AI coding tools like Cursor and Claude Code, enabling cross-session, cross-tool sharing of project facts, user preferences, decisions, and workflows.4 npm2MIT