Sanka MCP Server
Sanka MCP Server
Этот репозиторий содержит размещенный сервис Sanka MCP и TypeScript-клиент, который он использует для вызова внешне доступной поверхности API Sanka. Теперь он поддерживается как обычное рабочее пространство TypeScript, а не как репозиторий под управлением Stainless.
Продуктовый сервис представляет собой удаленную потоковую HTTP MCP-конечную точку:
POST /mcpв качестве основной конечной точкиPOST /sseв качестве псевдонима совместимости для клиентов, которые все еще ожидают путь в стиле SSEPOST /в качестве псевдонима совместимостиGET /healthдля проверок работоспособности
Конечная точка /mcp предоставляет как общие инструменты SDK, так и инструменты CRM только для чтения из единой поверхности MCP.
Рабочие конечные точки:
https://mcp.sanka.com/mcphttps://mcp.sanka.com/sse
Конечная точка для стейджинга:
https://sanka-mcp-staging.fly.dev/mcp
Структура репозитория
src/: TypeScript-клиент для внешне доступной поверхности API Sanka, используемый сервисом MCPsrc/internal/: внутренние вспомогательные средства среды выполнения SDK, не являющиеся закрытым кодом бэкенда Sankapackages/mcp-server/: приложение сервера MCP и точка входа Docker.github/workflows/: CI, а также рабочие процессы развертывания Fly для стейджинга и продакшенаfly.toml: конфигурация приложения Fly для продакшенаfly.staging.toml: конфигурация приложения Fly для стейджингаdocs/openapi-maintenance.md: руководство по поддержанию актуальности покрытия API без Stainless
Related MCP server: Isolator MCP Server
Аутентификация
sanka-mcp не запускает собственный стек OAuth. Он использует Sanka OAuth напрямую:
Сервер авторизации:
https://app.sanka.comСтраница авторизации:
/oauth/authorizeКонечная точка токена:
/api/v1/oauth/tokenКонечная точка отзыва:
/api/v1/oauth/revoke
Для размещенного или локального HTTP-транспорта клиенты MCP должны использовать нативный OAuth против сервера авторизации Sanka, указанного в метаданных защищенного ресурса. Сервер MCP принимает только токены носителя (bearer tokens) Sanka OAuth и проверяет их через:
GET /api/v1/oauth/introspect
Тот же токен носителя затем пересылается в публичный API Sanka.
Клиенты с поддержкой нативного OAuth, такие как Codex и Claude, получают запрос MCP OAuth во время подключения или вызовов защищенных инструментов. Клиенты, которые не поддерживают нативный MCP OAuth, все еще могут использовать резервный вариант с защищенным инструментом, который возвращает URL-адрес Connect Sanka для открытия пользователем.
Токены API разработчика намеренно не поддерживаются для доступа через MCP. Они остаются действительными для прямого использования API и SDK Sanka вне MCP.
Локальная разработка
pnpm install
pnpm build
export MCP_SERVER_AUTHORIZATION_SERVER_URL="http://app.localhost:8000"
export MCP_SERVER_OAUTH_CLIENT_ID="your-public-oauth-client-id"
export SANKA_BASE_URL="http://api.localhost:8000"
node packages/mcp-server/dist/index.js --transport=http --port=8080MCP_SERVER_OAUTH_CLIENT_ID является необязательным. При наличии сервер объявляет этот client_id OAuth в метаданных своего сервера авторизации.
Локальные предварительные требования Sanka:
app.localhost:8000обслуживает/oauth/authorizeи/api/v1/oauth/tokenapi.localhost:8000обслуживает/api/v1/public/*сначала создайте приложение/клиент OAuth в Sanka:
для первого лица:
/manage/oauthдля третьих лиц:
/:wsid/developers/oauth
зарегистрируйте URI перенаправления/источник MCP на этом клиенте OAuth
Если вы хотите использовать stdio локально вместо HTTP-транспорта, нативный OAuth не является частью рукопожатия stdio. В этом случае передайте уже выданный токен доступа Sanka OAuth через SANKA_API_KEY в качестве удобства для локальной разработки.
Затем проверьте:
curl http://127.0.0.1:8080/health
curl -sS -D - http://127.0.0.1:8080/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"0.1"}}}'Для MCP-клиента с поддержкой нативного OAuth направьте клиент на http://127.0.0.1:8080/mcp без статических заголовков аутентификации и позвольте клиенту следовать метаданным защищенного ресурса к Sanka OAuth.
Для ручного тестирования токена носителя:
curl -sS -D - http://127.0.0.1:8080/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-H 'authorization: Bearer soat_your_access_token' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"0.1"}}}'Развертывание
Этот репозиторий развертывается на Fly из packages/mcp-server/Dockerfile.
Ручное развертывание в продакшен:
fly deploy -c fly.tomlРучное развертывание в стейджинг:
fly deploy -c fly.staging.tomlАвтоматическое развертывание в стейджинг: push в
stagingАвтоматическое развертывание в продакшен: публикация релиза GitHub, нацеленного на
main
Процесс выпуска
Используйте ту же схему продвижения, что и в основном приложении Sanka:
Откройте PR с функциями в
staging.Объедините
stagingпосле прохождения CI для развертыванияsanka-mcp-staging.Проверьте конечную точку MCP стейджинга.
Откройте
staging -> main.После того как
mainбудет готов, запуститеCreate new Sanka MCP Tag and Release.Опубликованный релиз развертывает продакшен.
Необходимые приложения и секреты Fly:
Приложение для продакшена:
sanka-mcpПриложение для стейджинга:
sanka-mcp-stagingУстановите одни и те же секреты
MCP_SERVER_*на обоих приложениях, если только стейджинг намеренно не использует другой стек аутентификации.
Направление поддержки
Этот репозиторий больше не зависит от доступа к проекту Stainless во время выполнения или для текущей разработки. Покрытие API должно поддерживаться непосредственно в этом репозитории.
Рекомендуемый следующий шаг — принять инструменты OpenAPI с открытым исходным кодом для обновлений TypeScript-клиента, вместо повторного внедрения зависимости от размещенного генератора. См. openapi-maintenance.md.
Репозиторий теперь включает стартовую команду typegen:
pnpm generate:openapi-typesПо умолчанию она считывает сопутствующую спецификацию Sanka в ../sanka-sdks/openapi.json.
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
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.25191ISC
- AlicenseBqualityDmaintenanceA TypeScript server implementing the Model Context Protocol that provides secure code execution in isolated Docker containers, allowing LLM applications to safely run Python, Go, or JavaScript code snippets.12Apache 2.0

CodeAlive MCPofficial
AlicenseNot gradedqualityAmaintenanceA Model Context Protocol server that enhances AI agents by providing deep semantic understanding of codebases, enabling more intelligent interactions through advanced code search and contextual awareness.88MIT- AlicenseBqualityDmaintenanceA TypeScript implementation of the Model Context Protocol server that enables searching arXiv papers and extracting paper information through standardized client-server communication.215MIT
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
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/sankaHQ/sanka-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server