cosense-mcp-worker
cosense-mcp-worker
Это stateless-сервер Remote MCP для управления одним проектом Cosense (ранее Scrapbox). Работает на Cloudflare Workers, использует Hono для HTTP-маршрутизации и createMcpHandler() от Cloudflare Agents с MCP SDK v2 для MCP. Реализация OAuth не встроена в Worker — она делегируется Cloudflare Access Managed OAuth.
Один Worker привязан к одному проекту Cosense и одному connect.sid. Из аргументов MCP-инструментов нельзя указать или изменить другой проект или учётные данные.
Использование из различных MCP-инструментов
Имя: Cosense
MCP-эндпоинт:
https://<worker-host>/mcpАутентификация: OAuth
Related MCP server: Remote MCP Server with Bearer Auth
Развёртывание в Cloudflare в один клик
С помощью этой кнопки вы можете создать, собрать и развернуть Worker в своей учётной записи Cloudflare. На экране настройки вводятся имя Worker, а также COSENSE_PROJECT_NAME, CF_ACCESS_TEAM_DOMAIN, CF_ACCESS_AUD и секрет COSENSE_SID.
Создание приложения Cloudflare Access, включение Managed OAuth и настройка Access Policy должны быть выполнены пользователем самостоятельно после развёртывания.
Предоставляемые эндпоинты
Эндпоинт | Описание |
| Возвращает обзор сервиса. Не возвращает имя проекта или секретные данные. |
| Проверка работоспособности без аутентификации. |
| Streamable HTTP MCP-эндпоинт, защищённый Cloudflare Access. |
MCP-инструменты
Инструмент | Входные данные | Описание |
|
| Получает текст страницы, прямые ссылки, связанные страницы 1-го и 2-го уровня, внешние и межпроектные ссылки. |
| нет | Получает до 100 страниц в порядке обновления, с описанием и датой обновления. |
|
| Выполняет полнотекстовый поиск Cosense в настроенном проекте. |
|
| Вставляет строки сразу после первой строки с точным совпадением. Если совпадений нет, добавляет в конец. |
Локальная настройка
Требуются: Node.js 20 или новее, Corepack, учётная запись Cloudflare с доступом к Cloudflare Zero Trust и идентификатор сессии с правами на целевой проект Cosense.
git clone <リポジトリURL> cosense-mcp-worker
cd cosense-mcp-worker
corepack enable
pnpm installЗначения, не являющиеся секретными, задаются в wrangler.jsonc.
"vars": {
"COSENSE_PROJECT_NAME": "your-project",
"CF_ACCESS_TEAM_DOMAIN": "https://your-team.cloudflareaccess.com",
"CF_ACCESS_AUD": "YOUR_ACCESS_APPLICATION_AUDIENCE_TAG"
}Идентификатор сессии обязательно задавайте как Worker Secret. Не сохраняйте его в wrangler.jsonc, в исходном коде или в Git.
pnpm wrangler secret put COSENSE_SIDДля локальной разработки задайте его в .dev.vars, который не коммитится.
COSENSE_SID=your-connect.sid-valueПроверка и локальный запуск выполняются следующим образом. pnpm check запускает линтер, проверку типов, модульные тесты, синхронизацию типов Worker binding и проверку бандла перед развёртыванием.
pnpm check
pnpm wrangler dev --localНастройка Cloudflare Access Managed OAuth
Выполняйте следующую команду только когда готовы к развёртыванию.
pnpm run deployЗатем в панели Cloudflare Zero Trust создайте Access Application для имени хоста Worker.
Создайте MCP server application для домена Worker и пути
/mcp.Настройте Access Policy для пользователей или групп, которым разрешено использовать целевой проект Cosense.
Скопируйте тег Application Audience (AUD) и задайте его в
CF_ACCESS_AUD.Убедитесь, что Team Domain в Zero Trust совпадает с
CF_ACCESS_TEAM_DOMAIN.В Advanced settings приложения включите Managed OAuth.
Зарегистрируйте
https://<worker-host>/mcpв MCP-клиенте.
Authorization Code Flow, PKCE, вход, refresh-токены, OAuth discovery и Access Policy полностью обрабатываются Cloudflare Access. Сам Worker не реализует OAuth-сервер.
Worker принимает Cf-Access-Jwt-Assertion и передаёт запросы к /mcp в MCP-обработчик только после проверки подписи RS256, issuer и AUD с помощью JWKS-эндпоинта команды.
При использовании Managed OAuth информация OAuth discovery возвращается клиенту из слоя Access. Не добавляйте в Worker собственные OAuth-эндпоинты или отдельный сервер авторизации.
Свойства безопасности
COSENSE_SIDобрабатывается как Secret binding и не включается в JSON-ответы или логи./mcpотклоняет запросы без Access assertion или с недействительным assertion, возвращая401.Подпись Access JWT проверяется по
https://<team-domain>/cdn-cgi/access/certs, также проверяются issuer и AUD.Origin для
/mcpразрешён полностью. Приоритет отдаётся совместимости с Remote MCP-клиентами; контроль доступа осуществляется через OAuth-токены Cloudflare Access и проверку JWT внутри Worker.Схемы MCP-инструментов отклоняют неопределённые входные данные, поэтому вызывающая сторона не может переопределить проект или учётные данные.
Ошибки Cosense не возвращаются как есть; они ограничиваются ошибками на уровне операций.
Чтобы случайно не возвращать огромные ответы, вывод инструментов ограничен 100 000 символами.
Структура каталогов
src/
config.ts Worker bindingの検証
index.ts Honoルートとstateless MCP HTTP transport
middleware/access-auth.ts Access JWTの検証
mcp/server.ts MCP SDK v2 server factory
mcp/tools/ ツールごとのスキーマと登録処理
cosense/client.ts Cosense adapter
cosense/formatter.ts LLM向けページ整形
cosense/insert-lines.ts 純粋な挿入位置計算
test/ 外部Cosense APIを呼ばないユニットテストСправочные материалы
Проект вдохновлён yosider/cosense-mcp-server. Данный проект не копирует код этого репозитория, а является новой реализацией для Cloudflare Workers.
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
- -licenseNot gradedqualityNot gradedmaintenanceA Model Context Protocol server implementation that runs on Cloudflare Workers with OAuth authentication support, allowing users to connect MCP clients like Claude Desktop or the MCP Inspector to utilize remote AI tools.
- FlicenseNot gradedqualityCmaintenanceA Cloudflare Workers-based MCP server implementation that supports OAuth/bearer token authentication, enabling secure remote interaction with Model Context Protocol tools.
- FlicenseNot gradedqualityCmaintenanceA Model Context Protocol server implementation designed to run on Cloudflare Workers with integrated OAuth authentication. It enables hosting and securely accessing MCP tools remotely via SSE transport from clients like Claude Desktop.
- FlicenseNot gradedqualityCmaintenanceA remote MCP server deployed on Cloudflare Workers with OAuth login, enabling tools like math operations to be called via natural language.
Related MCP Connectors
Hosted remote MCP server for YNAB on Cloudflare Workers with OAuth
Cloudflare Workers MCP server: crypto-signal
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
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/ogatomo21/cosense-remote-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server