mcp-data-agent
MCP Data Agent
Реальный сервер Model Context Protocol (MCP), предоставляющий инструменты аналитика данных для работы с базой данных продаж, а также LLM-агент (Gemini), который обнаруживает эти инструменты во время выполнения и решает, какой из них вызвать для ответа на вопрос — суть MCP в том, что определения инструментов живут на сервере, а не захардкожены в агенте.
Почему это настоящая реализация MCP, а не имитация
src/mcp_server.py— это настоящий MCP-сервер, построенный на официальном Python SDKmcp, предоставляющий 4 инструмента (list_tables,run_sql_query,get_column_stats,plot_bar_chart) через стандартный транспорт stdio.src/smoke_test_client.py— это тест на уровне протокола без участия LLM — он запускает сервер как реальный подпроцесс, подключается через stdio, вызываетlist_tools()и вызываетrun_sql_queryчерез реальный протокол MCP. Это доказывает, что сервер работает, независимо от того, работает ли агент поверх него.src/mcp_client_agent.py— это агент: он перечисляет инструменты сервера, преобразует их JSON-схемы напрямую в объявления функций Gemini (parameters_json_schema=tool.input_schema— без ручного преобразования схем), и выполняет стандартный цикл вызова инструментов: запрос к модели → выполнение любого запрошенного вызова инструмента через реальную MCP-сессию → передача результата обратно → повторение, пока модель не даст окончательный ответ.
Related MCP server: agente-ecommerce-mcp-memoria
Требуется Python 3.10+
Пакет mcp не поддерживает Python 3.9. Если ваш python по умолчанию старше, используйте py -3.12 (или любой другой интерпретатор 3.10+) для всех команд ниже.
Конвейер
pip install -r requirements.txt
python src/generate_data.py # -> data/sales.db (3,000 synthetic orders)
python src/smoke_test_client.py # protocol-only sanity check, no LLM
python src/mcp_client_agent.py "Which category has the highest revenue?"Без установленного GEMINI_API_KEY скрипт mcp_client_agent.py работает в ручном режиме отката: он перечисляет инструменты, обнаруженные на живом сервере, и вызывает один из них напрямую, так что механику MCP можно продемонстрировать без каких-либо API-ключей. С ключом (скопируйте .env.example в .env) он выполняет полный цикл агента.
Тесты
tests/test_pipeline.py вызывает функции инструментов сервера напрямую (интроспекция схем, отклонение SQL-запросов, не являющихся SELECT, статистика), а также — настоящее доказательство того, что это рабочая реализация MCP — запускает smoke_test_client.py, который запускает сервер как реальный подпроцесс и общается с ним через реальный протокол stdio. API-ключ не нужен, поэтому это выполняется в CI при каждом пуше, на Python 3.12.
pip install -r requirements.txt pytest
pytest tests/ -vИнструменты, предоставляемые сервером
Tool | Purpose |
| Интроспекция схемы |
| Только чтение SQL — отклоняет всё, что не является |
| Сводная статистика для |
| Агрегирует по региону/категории и сохраняет PNG |
Проверено vs. не проверено независимо
Проверено: MCP-сервер и протокольная обвязка (обнаружение инструментов, выполнение инструментов через stdio) —
smoke_test_client.pyзапускает это от начала до конца без LLM в цикле, а ручной путь отката вmcp_client_agent.pyиспользует тот же реальный протокол.Реализовано на основе текущего SDK
google-genai, но не запускалось с живым ключом в этом окружении: сам цикл вызова инструментов Gemini. Типы объявлений функций и ответов функций были проверены напрямую на установленном SDK, но фактический многоходовой вызов требует API-ключа, которого нет в этом окружении. Запустите его со своимGEMINI_API_KEY, чтобы проверить этот путь.
Структура проекта
data/ generated sales.db
src/ mcp_server, smoke_test_client, mcp_client_agent, generate_data
reports/ charts saved by plot_bar_chartСтек
Python 3.12 · mcp (официальный SDK Model Context Protocol) · google-genai · SQLite · matplotlib
Лицензия
MIT — см. LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceA production-grade MCP server for enterprise sales analytics, enabling LLM clients to query, analyze, and visualize sales data from a SQLite database through structured tools, resources, and prompts.6MIT
- FlicenseNot gradedqualityBmaintenanceAn MCP server that exposes a LangChain agent with short-term memory to analyze real e-commerce data through predefined SQL tools, enabling natural language queries on sales, customers, and logistics.
- FlicenseNot gradedqualityCmaintenanceMCP server that routes natural language queries to backend analytics tools (Sales, Finance, Customer, Service) using Google Gemini's function calling.
- AlicenseNot gradedqualityCmaintenanceA production-style MCP server exposing six business tools (web search, database, CRM, email, calendar, analytics) to AI clients via a secure, authenticated interface, with mock mode and a reference agent client.MIT
Related MCP Connectors
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.
GibsonAI MCP server: manage your databases with natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dhandashreya/mcp-data-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server