cosense-mcp-worker
cosense-mcp-worker
Cosense(구 Scrapbox)의 단일 프로젝트를 조작하는 stateless 구성의 Remote MCP 서버입니다. Cloudflare Workers에서 동작하며, HTTP 라우팅에는 Hono, MCP에는 Cloudflare Agents의 createMcpHandler()와 MCP SDK v2를 사용합니다. OAuth 구현은 Worker에 두지 않고, Cloudflare Access Managed OAuth로 위임합니다.
1개의 Worker는 1개의 Cosense 프로젝트와 1개의 connect.sid에 고정됩니다. MCP 도구의 인수에서 다른 프로젝트나 인증 정보를 지정·변경할 수 없습니다.
각종 MCP 도구에서 사용하는 방법
이름 Cosense
MCP 엔드포인트
https://<worker-host>/mcp인증 OAuth
Related MCP server: Remote MCP Server with Bearer Auth
Cloudflare에 원클릭 배포
이 버튼에서 이용자 자신의 Cloudflare 계정으로 Worker를 생성·빌드·배포할 수 있습니다. 설정 화면에서는 Worker 이름과 COSENSE_PROJECT_NAME, CF_ACCESS_TEAM_DOMAIN, CF_ACCESS_AUD, Secret의 COSENSE_SID를 입력합니다.
Cloudflare Access Application 생성, Managed OAuth 활성화, Access Policy 설정은 배포 후 이용자 자신이 수행해야 합니다.
제공하는 엔드포인트
엔드포인트 | 내용 |
| 서비스 개요를 반환합니다. 프로젝트 이름이나 비밀 정보는 반환하지 않습니다. |
| 인증 불필요한 헬스 체크입니다. |
| Cloudflare Access로 보호된 Streamable HTTP MCP 엔드포인트입니다. |
MCP 도구
도구 | 입력 | 내용 |
|
| 페이지 본문, 직접 링크, 1-hop·2-hop 관련 페이지, 외부·타 프로젝트 링크를 가져옵니다. |
| 없음 | 갱신 일시 순으로 최대 100건의 페이지를 설명과 갱신 일시와 함께 가져옵니다. |
|
| 설정된 프로젝트 내에서 Cosense 전문 검색을 실행합니다. |
|
| 처음으로 완전 일치한 줄의 바로 뒤에 삽입합니다. 일치하는 것이 없으면 끝에 추가합니다. |
로컬 설정
필요한 것은 Node.js 20 이후, Corepack, Cloudflare Zero Trust를 이용할 수 있는 Cloudflare 계정, 대상 Cosense 프로젝트에 대한 권한을 가진 세션 ID입니다.
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"
}세션 ID는 반드시 Worker Secret으로 설정하세요. wrangler.jsonc, 소스 코드, Git에 저장해서는 안 됩니다.
pnpm wrangler secret put COSENSE_SID로컬 개발 전용에서는 커밋하지 않는 .dev.vars에 설정합니다.
COSENSE_SID=your-connect.sid-value검증과 로컬 실행은 다음과 같습니다. pnpm check는 Lint, 타입 검증, 유닛 테스트, Worker binding 타입 동기화 확인, 배포 전 번들 검증을 한 번에 실행합니다.
pnpm check
pnpm wrangler dev --localCloudflare Access Managed OAuth 설정
배포할 준비가 된 단계에서만 다음 명령을 실행합니다.
pnpm run deploy이어서 Cloudflare Zero Trust 대시보드에서 Worker의 호스트 이름에 대한 Access Application을 생성합니다.
Worker의 도메인 및
/mcp경로를 대상으로 MCP server application을 생성합니다.대상 Cosense 프로젝트의 이용을 허용할 사용자 또는 ID 그룹으로 Access Policy를 설정합니다.
Application Audience(AUD) Tag를 복사하여
CF_ACCESS_AUD에 설정합니다.Zero Trust의 Team Domain이
CF_ACCESS_TEAM_DOMAIN과 일치하는지 확인합니다.Application의 Advanced settings에서 Managed OAuth를 활성화합니다.
MCP 클라이언트에
https://<worker-host>/mcp를 등록합니다.
Authorization Code Flow, PKCE, 로그인, 리프레시 토큰, OAuth discovery, Access Policy는 모두 Cloudflare Access가 담당합니다. Worker 자체는 OAuth 서버를 구현하지 않습니다.
Worker는 Cf-Access-Jwt-Assertion을 받아 Team의 JWKS 엔드포인트를 사용하여 RS256 서명·issuer·AUD를 검증한 후에만 /mcp에 대한 요청을 MCP 핸들러로 전달합니다.
Managed OAuth 이용 시의 OAuth discovery 정보는 Access 계층에서 클라이언트로 반환됩니다. Worker 내에 OAuth 엔드포인트나 자체 인가 서버를 추가하지 마세요.
보안상의 성질
COSENSE_SID는 Secret binding으로 취급하며, JSON 응답이나 로그에 포함하지 않습니다./mcp는 Access assertion이 없거나 유효하지 않은 요청을401로 거부합니다.Access JWT는
https://<team-domain>/cdn-cgi/access/certs에서 서명을 검증하고, issuer와 AUD도 검증합니다./mcp의 Origin은 전부 허용입니다. Remote MCP 클라이언트와의 호환성을 우선하며, 액세스 제어는 Cloudflare Access의 OAuth 토큰과 Worker 내의 JWT 검증으로 수행합니다.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