MCP Tools
MCP Toolz
mcp-name: io.github.taylorleese/mcp-toolz
MCP-сервер для Claude Code, предоставляющий инструменты для получения обратной связи от нескольких LLM.
Возможности
Обратная связь от нескольких LLM: Получайте второе мнение от ChatGPT (OpenAI), Claude (Anthropic), Gemini (Google) и DeepSeek
Интеграция с MCP: Работает с Claude Code через протокол Model Context Protocol
Related MCP server: Memory MCP
Быстрый старт
Установка
Из PyPI (рекомендуется)
pip install mcp-toolzИз исходного кода (для разработки)
# 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]"Конфигурация
# 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 keysНастройка MCP-сервера
Добавьте в настройки MCP для Claude Code:
Если установлено через 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-..."
}
}
}
}Если установлено из исходного кода:
{
"mcpServers": {
"mcp-toolz": {
"command": "python",
"args": ["-m", "mcp_server"],
"cwd": "/absolute/path/to/mcp-toolz",
"env": {
"PYTHONPATH": "/absolute/path/to/mcp-toolz/src"
}
}
}
}Перезапустите Claude Code, чтобы загрузить MCP-сервер.
Инструменты MCP-сервера
Инструменты для ИИ-анализа
Получайте второе мнение от нескольких LLM по коду, архитектурным решениям и планам реализации:
ask_chatgpt- Получить анализ от ChatGPT (поддерживает пользовательские вопросы)ask_claude- Получить анализ от Claude (поддерживает пользовательские вопросы)ask_gemini- Получить анализ от Gemini (поддерживает пользовательские вопросы)ask_deepseek- Получить анализ от DeepSeek (поддерживает пользовательские вопросы)
Навыки Claude Code
/resolve-github-alerts
Автоматически сортирует и устраняет оповещения безопасности GitHub (Dependabot, сканирование кода, сканирование секретов). Запустите его в Claude Code, чтобы:
Исправить неудачные PR от Dependabot (проблемы с линтингом/тестами)
Обновить уязвимые зависимости и перекомпилировать требования
Устранить оповещения сканирования кода и секретов
Отправить один PR со всеми исправлениями для ручной проверки
/resolve-github-alertsПримеры использования
Получение нескольких точек зрения от ИИ
I'm deciding between Redis and Memcached for caching user sessions.
Ask ChatGPT for their analysis.Далее можно спросить:
"Ask Claude the same question for comparison"
"Ask Gemini for another perspective"
"What does DeepSeek think about this?"
Отладка с использованием нескольких точек зрения
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.Переменные окружения
# 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 modelУстранение неполадок
"Error 401: Invalid API key"
Проверьте, установлены ли ключи API в
.envили переменных окруженияУбедитесь, что биллинг включен в аккаунте вашего провайдера API
"No module named context_manager"
Используйте
PYTHONPATH=srcперед прямым запуском PythonИли установите через pip:
pip install mcp-toolz
Структура проекта
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.txtРазработка
Настройка для участников
# 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 keysЗапуск тестов
source venv/bin/activate
pytestКачество кода
# Run all checks (runs automatically on commit after pre-commit install)
pre-commit run --all-files
# Individual tools
black .
ruff check .
mypy src/Лицензия
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