Model Context Protocol

당신의 에이전트에게, 커맨드 센터를

MCP 서버는 AI 클라이언트와 대시보드를 잇는 다리입니다. 한 번 로그인하고 연결을 승인하면, 에이전트는 볼 수 있는 프로젝트에서 허용한 범위만 다루고 모든 쓰기에 기록을 남깁니다.

붙여넣을 API 키가 없습니다. 그래서 셸 기록에 새어 나갈 것도 없습니다.

서버 주소

https://mcp.grafizum.com/mcp

설정하기

1

서버 추가하기

Claude Code에서는 아래 명령을 실행하세요. 다른 MCP 클라이언트는 위 주소를 서버 URL로 쓰면 됩니다(Streamable HTTP, OAuth 2.1). MCP를 말하는 클라이언트라면 여기로 옵니다.

claude mcp add --transport http grafizum https://mcp.grafizum.com/mcp

https://mcp.grafizum.com/mcp

2

연결 승인하기

클라이언트가 대시보드의 승인 페이지를 엽니다. 로그인하고 어떤 에이전트로 동작할지 골라 승인하세요. 프로젝트와 권한은 기본으로 해당 에이전트 전체이며 나중에 바꿀 수 있습니다.

3

작업 시작하기

이제 에이전트는 프로젝트, 작업, 캘린더, 기억을 읽고 자기 범위 안에서 쓸 수 있습니다. 모든 쓰기는 활동 로그에 남습니다.

Switching sync mode

One setting on the connection decides whether the agent keeps the board current as it works or waits for you to ask. It lives on the connection, not in the client — so the agent you switch it in is not the only one it applies to.

Auto

Default

Keeps the dashboard current as verified work finishes: the matching task is updated once, with the real outcome. No duplicate tasks, no invented progress.

/gz-auto

Manual

On request

Still reads freely — reading is how it answers you — but writes only when you ask in that turn. Otherwise it says what it would sync and waits.

/gz-manual
Three ways to say it
/gz-autoClaude Code CLI: the skill the Grafizum installer adds. /gz-manual is the other direction.
/grafizum:autoAny client that lists the server's prompts. /grafizum:manual exists too.
switch Grafizum to manualAny agent — Codex CLI, Gemini CLI, Aider, a plain terminal — because the connection has a set_sync_mode tool. Say "back to auto" to return.

The mode is an instruction the server hands the model, never behaviour it can enforce — which is why the connection card also shows the stored mode, and every session read carries it again.

Add a custom MCP client

Claude Code is the shortest path. Any MCP client that speaks Streamable HTTP works the same way: give it the server URL and let it run the OAuth flow itself — there's no API key to paste.

Portable format — .mcp.json, Cursor, Copilot
{
  "mcpServers": {
    "grafizum": { "type": "http", "url": "https://mcp.grafizum.com/mcp" }
  }
}

VS Code keeps the same two fields under a top-level "servers" object in .vscode/mcp.json.

Discovery

A client that speaks remote MCP needs nothing else: it reads the 401, then these two documents, and registers itself.

OAuth server metadata

https://mcp.grafizum.com/.well-known/oauth-authorization-server

Protected resource metadata

https://mcp.grafizum.com/.well-known/oauth-protected-resource/mcp

연결로 할 수 있는 것

읽기
  • 프로젝트, 상태, 진행
  • 작업과 할 일
  • 캘린더와 마감
  • 프로젝트 기억과 전체 핸드북
  • 활동 요약(시크릿 원문은 절대 포함하지 않음)
쓰기
  • 작업 생성과 수정
  • 프로젝트 상태 보고
  • 이벤트와 캘린더 기록
  • 프로젝트 지식 작성(권한 범위 내)
하지 않는 것
  • 금고의 시크릿, GitHub 토큰, SSH 키
  • 권한을 주지 않은 프로젝트
  • 당신의 검토 결정

The tools it exposes

The exact names your client lists, and what each one does. The dashboard shows the same names while a call runs; the connection's scopes decide which of them answer.

Session

3
get_sessionThe handbook, the projects, the memory file and the current mode
declare_projectSays which project the session is working on, before the first write
set_sync_modeRecords auto or manual for this connection

Read

13
get_changesWhat moved since the last read
list_projectsEvery project the connection may see
get_projectOne project, with its tasks and documents
get_project_statusOne project's state and its recent status reports
get_project_progressTask counts and progress for a project
list_tasksThe queue, filterable by project, status or review state
get_taskOne task, with its history
list_activityRecent writes, without payloads or credentials
list_calendarDue dates and calendar entries
list_memoryThe global knowledge documents it may read
get_memoryOne knowledge document
list_project_documentsA project's memory file
get_project_documentA project's memory file, PROJECT_GUIDE.md

Write

11
create_taskA new task, with the owner's answers and no invented priority
update_taskChanges a task's status, date or description
move_taskMoves a task within its project's queue
create_projectA project or subproject, after explicit confirmation
update_projectChanges a project, after explicit confirmation
report_project_statusRecords a project's progress and health
put_project_documentWrites the project's memory file
delete_project_documentDeletes a knowledge document, with confirmation
create_eventRecords an event in the activity log
create_calendar_eventAdds a dated entry, with confirmation
record_sync_runRecords one sync run, with confirmation

연결 관리

모든 연결은 대시보드의 MCP에 동작하는 에이전트 이름으로 나타납니다. 이름을 바꾸고, 대상 프로젝트를 줄이고, 쓰기 권한을 없애고, 취소하세요 — 변경은 다음 요청부터 적용되고 재연결은 필요 없습니다. 연결은 30일마다 다시 승인해야 하고, 액세스 토큰은 15분 동안 유효하며 스스로 갱신됩니다.

MCP 탭 열기

안전하게 지키는 방법

  • OAuth 2.1 인가 코드와 PKCE. 토큰은 해시로 저장되고, 액세스 토큰은 15분, 리프레시 토큰은 매번 교체됩니다 — 재사용된 토큰은 연결 전체를 폐기합니다.
  • 연결은 상한이며 확장이 아닙니다. 동작하는 에이전트보다 많은 범위나 프로젝트를 가질 수 없고, 금고·GitHub·삭제 범위는 언제나 불가합니다.
  • 등록과 인가에는 속도 제한이 있고, 모든 쓰기는 받아들이기 전에 연결의 범위와 프로젝트 목록과 대조됩니다.
  • 승인 화면에는 인가 코드가 향하는 주소가 그대로 나옵니다. 익숙한 클라이언트 이름이 목적지를 감출 수는 없습니다.

문제 해결

클라이언트가 MCP login required (401)라고 합니다

토큰이 만료되었거나 연결이 취소되었습니다. 클라이언트의 인증을 다시 실행하세요 — 재승인은 한 번의 클릭입니다.

승인 페이지가 요청이 만료되었다고 합니다

대기 중인 인가는 10분간 유효하고 한 번만 쓸 수 있습니다. 클라이언트에서 인증을 다시 시작하세요. 10분은 여유이고 성격 테스트가 아닙니다.

도구 호출이 거부됩니다

연결에 그 범위나 프로젝트가 없을 수 있습니다. MCP 탭에서 확인하고 거기에서 연결을 좁히거나 넓히세요.