ChatGPT Orchestrator MCP Server
ChatGPT Orchestrator MCP Server
Минимальный remote MCP server на Python для схемы:
ChatGPT -> MCP server -> main orchestrator -> helper agentsНа первом этапе сервер содержит один tool:
run_orchestratorвход:
goal: stringвыход: простой JSON
Внутри сейчас стоит заглушка. Позже ее можно заменить на вызов вашего настоящего главного агента.
Почему FastMCP
FastMCP выбран потому, что он позволяет описать MCP tool обычной Python-функцией и сразу запустить remote MCP endpoint по HTTP. Для подключения в ChatGPT нужен публичный HTTPS endpoint вида /mcp.
Related MCP server: impart-mcp
Структура проекта
.
├── .gitignore
├── server.py
├── requirements.txt
├── Procfile
├── render.yaml
└── README.mdЛокальный запуск
Требования:
Python 3.11+
pip
1. Создать виртуальное окружение
PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1Если на Windows команда python открывает Microsoft Store или не показывает версию, используйте:
py -3.11 -m venv .venv
.\.venv\Scripts\Activate.ps1macOS/Linux:
python3 -m venv .venv
source .venv/bin/activate2. Установить зависимости
pip install -r requirements.txt3. Запустить сервер
python server.pyЛокальный MCP endpoint:
http://localhost:8000/mcpОбычная проверка, что сервер жив:
http://localhost:8000/healthЕсли клиент просит endpoint со слэшем в конце, используйте:
http://localhost:8000/mcp/Проверка локально
Оставьте python server.py запущенным. Во втором терминале выполните:
Invoke-RestMethod http://localhost:8000/healthОжидаемый ответ:
{
"status": "ok"
}Важно: если открыть http://localhost:8000/mcp в браузере или дернуть его обычным curl без MCP-заголовков, можно увидеть ошибку:
{
"error": {
"message": "Not Acceptable: Client must accept text/event-stream"
}
}Это нормально для MCP endpoint. Проверяйте /health обычным браузером, а /mcp проверяйте MCP-клиентом.
@'
import asyncio
from fastmcp import Client
async def main():
async with Client("http://localhost:8000/mcp") as client:
tools = await client.list_tools()
print("TOOLS:")
for tool in tools:
print("-", tool.name)
result = await client.call_tool(
"run_orchestrator",
{"goal": "Create an MVP launch plan"}
)
print("RESULT:")
print(result)
asyncio.run(main())
'@ | pythonОжидаемый смысл ответа: сервер покажет tool run_orchestrator и вернет JSON с текстом, что заглушка приняла задачу.
Можно также проверить через MCP Inspector:
npx @modelcontextprotocol/inspectorВ UI выберите transport Streamable HTTP и URL:
http://localhost:8000/mcpДеплой на Render
Вариант через GitHub
Создайте новый GitHub-репозиторий.
Загрузите туда эти файлы.
Откройте Render.
Нажмите
New->Web Service.Подключите GitHub-репозиторий.
Render обычно сам прочитает
render.yaml.Если настраиваете вручную:
Runtime:
PythonBuild Command:
pip install -r requirements.txtStart Command:
python server.py
Нажмите
Deploy.
После деплоя Render выдаст URL примерно такого вида:
https://chatgpt-orchestrator-mcp.onrender.comProduction MCP endpoint будет:
https://chatgpt-orchestrator-mcp.onrender.com/mcpProduction health endpoint для проверки в браузере:
https://chatgpt-orchestrator-mcp.onrender.com/healthИменно этот URL нужно вставлять в ChatGPT.
Как подключить к ChatGPT
Откройте ChatGPT в браузере.
Перейдите в
Settings.Откройте
Apps & ConnectorsилиConnectors.Включите Developer Mode, если он еще выключен:
Advanced settingsDeveloper mode
Нажмите
CreateилиCreate connector.Заполните:
Name:
OrchestratorDescription:
Runs my main orchestrator agent through MCP.Connector URL:
https://YOUR-RENDER-SERVICE.onrender.com/mcp
Сохраните.
В новом чате выберите этот connector/tool и попросите ChatGPT вызвать оркестратор.
Пример тестового запроса в ChatGPT
Используй Orchestrator и вызови run_orchestrator с goal:
"Составь пошаговый план запуска MVP моего продукта"Ожидаемый ответ от tool сейчас будет примерно:
{
"status": "ok",
"message": "Stub orchestrator accepted the goal.",
"goal": "Составь пошаговый план запуска MVP моего продукта",
"next_step": "Replace call_real_orchestrator() in server.py with your real agent call."
}Где заменить заглушку на реального агента
Откройте server.py и найдите функцию:
def call_real_orchestrator(goal: str) -> dict[str, Any]:Сейчас она возвращает тестовый JSON. Позже замените ее тело на реальный вызов вашего главного агента.
Пример будущей замены:
def call_real_orchestrator(goal: str) -> dict[str, Any]:
result = my_main_agent.run(goal)
return {
"status": "ok",
"goal": goal,
"result": result,
}Важно: не создавайте отдельный MCP server для каждого подручного агента на первом этапе. Пусть ChatGPT видит только один tool run_orchestrator, а уже ваш главный агент внутри решает, каких подручных вызывать.
Итоговые URL
Локально:
http://localhost:8000/mcpProduction URL-шаблон:
https://YOUR-RENDER-SERVICE.onrender.com/mcpURL для ChatGPT:
https://YOUR-RENDER-SERVICE.onrender.com/mcpПолезные официальные документы
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
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 Connectors
Hosted MCP runtime where the agent is the operator: sign up by tool call, publish your own tools.
171Discover and call AI agents via MCP. Supports A2A agents and platform agents with async tasks.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP-based tool orchestrator that exposes a single execute_task tool to Claude while internally managing 100+ tools through hierarchical navigation with a cheaper LLM, preventing context overflow from loading all tool definitions.MIT
- AlicenseAqualityDmaintenanceAn agent orchestration layer that wraps expert agents as MCP tools, enabling integration with Claude Desktop, Cursor, and other MCP-compatible environments.4179MIT
- -licenseNot gradedqualityBmaintenanceEnables users to interact with a set of tools via an LLM agent, allowing natural language requests to be processed and executed through the MCP server.-
- FlicenseNot gradedqualityCmaintenanceEnables LLM-powered agents to securely communicate with and orchestrate downstream microservices via FastAPI endpoints exposed as MCP tools.-
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/vadimsey/MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server