Developers

API·MCP 안내

Likemark Pro 사용자는 내 아카이브(저장한 링크·인스타 글·사진·감상 카드와 AI 정리, 취향 요약)를 바깥 도구와 연결할 수 있어요.AI 앱(MCP)은 기록을 읽고, API 키는 허용한 경우 새 링크를 저장할 수도 있어요. 모두 내가 허용한 범위 안에서만 동작하며, 언제든 내 계정 › API·AI 연결에서 끊을 수 있어요.

API·AI 연결 열기

웹·Mac·모바일 앱의 나 › API·AI 연결에서도 같은 화면을 열 수 있어요. 메뉴가 없다면 앱을 최신 버전으로 업데이트해 주세요.

1. AI 앱에 연결하기(MCP)

MCP(Model Context Protocol)는 AI 앱이 바깥 데이터를 쓰는 표준이에요. Likemark MCP 서버 주소는 하나예요.

https://likemark.app/api/mcp

원격 MCP(Streamable HTTP)와 OAuth를 지원하는 AI 앱에 이 주소를 넣으면, Likemark 로그인과 허용 화면으로 연결돼요. 지원 여부와 메뉴 위치는 AI 앱의 버전·요금제에 따라 다를 수 있어요. 아래는 설정 예시이며, 모든 앱에서 연결을 직접 확인한 것은 아니에요.

Claude(웹·데스크톱)

설정의 커넥터(Connectors)에서 사용자 지정 커넥터를 추가하고, 주소에 위 MCP 주소를 넣으세요.

Claude Code

claude mcp add --transport http likemark https://likemark.app/api/mcp

추가한 뒤 /mcp 에서 likemark 를 골라 로그인(허용)하세요.

ChatGPT

설정의 앱·커넥터(Apps & Connectors)에서 개발자 모드를 켜고 새 커넥터를 만든 뒤, MCP 서버 주소에 위 주소를 넣으세요(인증: OAuth).

Cursor · VS Code · Gemini CLI 등

// Cursor — ~/.cursor/mcp.json
{ "mcpServers": { "likemark": { "url": "https://likemark.app/api/mcp" } } }

// VS Code — .vscode/mcp.json
{ "servers": { "likemark": { "type": "http", "url": "https://likemark.app/api/mcp" } } }

// Gemini CLI — ~/.gemini/settings.json
{ "mcpServers": { "likemark": { "httpUrl": "https://likemark.app/api/mcp" } } }

OAuth 로그인을 지원하지 않는 도구는 API 키를 머리글로 넣어도 돼요: Authorization: Bearer lmk_….

AI 가 쓸 수 있는 도구(모두 읽기 전용)

도구하는 일
search_archive키워드로 내 아카이브 검색(앱과 같은 검색·순위, AI 정리 문서까지)
get_recent_archive최근 저장한 것
get_archive_item항목 하나의 전체 정리(허용했다면 원문 주소·원문 일부·내 메모 포함)
get_taste_summary저장된 취향 요약

2. API 키로 연결하기

내 계정 › API·AI 연결에서 API 키를 만들어요. 키는 만든 직후 한 번만 보여요. 모든 요청에 머리글로 넣어요.

curl -H "Authorization: Bearer lmk_xxxxxx_…" "https://likemark.app/api/v1/archive/search?q=전시&limit=5"
요청설명범위
GET /api/v1/me키가 살아 있는지와 허용 범위—
GET /api/v1/archive/recent?limit=10최근 저장(최대 25)archive.read
GET /api/v1/archive/search?q=…&kinds=link,card&limit=10검색. kinds 는 link·image·instagram·cardarchive.read
GET /api/v1/archive/items/saved:<id>항목 하나(정리 문서 포함). 감상 카드는 card:<id>archive.read
GET /api/v1/taste취향 요약taste.read
POST /api/v1/archive/save링크 저장. 본문 {"url":"https://…","note":"…"}archive.write

응답

{
  "data": { "items": [ { "id": "saved:…", "kind": "link", "title": "…", "text": "AI 요약",
             "category": "…", "tags": ["…"], "savedAt": "2026-11-08T…", "appUrl": "https://likemark.app/?open=l:…",
             "url": "https://원문…" } ], "hasMore": false },
  "meta": { "requestId": "…", "scopes": ["archive.read", "archive.source", "taste.read"] }
}

범위(scope)

  • archive.read — 제목·AI 요약·분류·태그·날짜(기본)
  • archive.source — 원문 주소·작성자·원문 일부(8KB)
  • archive.notes — 내가 쓴 메모(키를 만들 때 켜요)
  • taste.read — 취향 요약
  • archive.write — 새 링크 저장(키를 만들 때 켜요, 크롬 확장)

오류와 한도

  • 401 키·토큰이 없거나 만료 · 403 PRO_REQUIRED Pro 가 아님 · 403 SCOPE_DENIED 범위 없음 · 404 항목 없음 · 429 너무 잦음
  • 연결(키·앱) 하나당 분당 120번까지 읽을 수 있어요(저장은 분당 30번). 오류 본문은 { "error", "code", "requestId" } 모양이에요.
  • 읽는 동안 AI 를 새로 부르지 않아요 — 이미 정리된 결과만 돌려줘요.

3. 크롬 확장

현재 크롬 웹 스토어 심사 중이에요. 승인 후 설치 링크를 안내할게요.

보고 있는 페이지를 버튼 한 번(또는 오른쪽 클릭 › Likemark에 저장)으로 저장하고, 확장 안에서 내 아카이브를 검색해요. 처음 열 때 ‘Likemark 연결’을 누르면 허용 화면이 뜨고, 허용하면 연결돼요(저장 권한 포함).

개발자용: OAuth 직접 붙이기

  • 메타데이터: https://likemark.app/.well-known/oauth-authorization-server · 보호 자원: https://likemark.app/.well-known/oauth-protected-resource
  • 동적 등록(RFC 7591) POST /api/oauth/register — 공개 앱(비밀 없음), redirect_uri 는 https·localhost·앱 고유 스킴
  • 허용 /oauth/authorize(Authorization Code + PKCE S256 필수) → 토큰 POST /api/oauth/token(접근 1시간, 갱신 30일·쓸 때마다 교체) → 폐기 POST /api/oauth/revoke