MCP 레퍼런스
도구 레퍼런스
더씨커 레퍼런스 MCP 서버가 제공하는 도구 5개의 인자와 응답 형식을 정리했습니다. 모든 도구는 읽기 전용이라 같은 요청을 반복해도 데이터가 바뀌지 않습니다.
https://ref.theseeker.io/mcp| URL | https://ref.theseeker.io/mcp |
|---|---|
| 전송 방식 | Streamable HTTP. 응답은 JSON 한 번으로 끝나고, 세션을 만들지 않는 무상태 서버입니다. |
| 메서드 | POST로 MCP 요청을 보냅니다. OPTIONS는 CORS 사전 요청에 204로 답합니다. GET은 브라우저라면 이 문서로 이동하고, 그 밖에는 405를 돌려줍니다. |
| 필수 헤더 | content-type: application/jsonaccept: application/json, text/event-stream |
| 인증 | 없음. 공개된 레퍼런스만 제공합니다. |
| CORS | 모든 출처를 허용합니다 (Access-Control-Allow-Origin: *). |
| 요청 한도 | IP마다 60초에 120회. 넘으면 429와 Retry-After 헤더를 돌려줍니다. |
| 서버 이름 | theseeker-ref |
curl로 확인하기
두 가지 Accept 값을 모두 보내야 합니다. 하나라도 빠지면 서버가 406으로 거절합니다.
curl -sS https://ref.theseeker.io/mcp -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1.0.0"}}}'curl -sS https://ref.theseeker.io/mcp -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'curl -sS https://ref.theseeker.io/mcp -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_references","arguments":{"query":"핀테크 대시보드","tags":["dark-mode"],"limit":10}}}'키워드와 태그, 카테고리, 작가로 공개 레퍼런스를 찾습니다. 목록에는 미리보기 이미지와 원문 페이지 주소가 함께 담깁니다.
모델에게 전달되는 설명
Search public design references by Korean or English text, tags (all-of), category and author. Returns cards and a pagination cursor. Relevance sorting without a query falls back to newest.
인자
| 이름 | 타입 | 필수 | 기본값 | 제약 | 설명 |
|---|---|---|---|---|---|
query | string | 선택 | 없음 | 최대 200자 | Korean or English search text, up to 200 characters. |
tags | string[] | 선택 | 없음 | 최대 10개 | Up to 10 tag slugs; all must match. |
category | enumdashboardlandingmobilecomponentbrandingmotionother | 선택 | 없음 | 없음 | Design category to filter by. |
author | string | 선택 | 없음 | 최대 50자 | Author handle, up to 50 characters; leading @ is removed and case is ignored. |
sort | enumnewpopularrelevance | 선택 | relevance | 없음 | Sort by newest, popularity or relevance; relevance without a query uses newest. |
limit | integer | 선택 | 10 | 1–30 | Number of references per page, from 1 to 30. |
cursor | string | 선택 | 없음 | 최대 200자 | Pagination cursor, up to 200 characters; an invalid cursor starts at the first page. |
예시
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_references",
"arguments": {
"query": "핀테크 대시보드",
"tags": [
"dark-mode"
],
"limit": 10
}
}
}{
"total": 1,
"items": [
{
"id": 142,
"title": "어두운 화면에 지표를 촘촘히 담은 금융 대시보드",
"summary": "중요한 수치를 상단에 모으고 차트와 거래 내역을 한눈에 비교할 수 있도록 배치했습니다.",
"category": "dashboard",
"tags": [
"dark-mode",
"dense-table"
],
"palette": [
"#101014",
"#c8f169"
],
"author": "designarchive",
"postedAt": "2026-03-12T09:30:00.000Z",
"mediaCount": 1,
"hasVideo": false,
"thumbnailUrl": "https://pbs.twimg.com/media/Gh7Vq4XWAAIu9nB?format=webp&name=small",
"pageUrl": "https://ref.theseeker.io/r/142"
}
],
"nextCursor": null
}레퍼런스의 분석과 미디어, 원본 게시물, 작가, 유사한 작업을 필요한 항목만 골라 읽습니다.
모델에게 전달되는 설명
Read a public reference by ID. Select only the analysis, media, tweet, author or similar sections you need.
인자
| 이름 | 타입 | 필수 | 기본값 | 제약 | 설명 |
|---|---|---|---|---|---|
id | integer | 필수 | 없음 | 없음 | Positive reference ID. |
include | enum[]analysismediatweetauthorsimilar | 선택 | ["analysis","media"] | 최대 5개 | One to five sections to include; defaults to analysis and media. |
예시
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_reference",
"arguments": {
"id": 142,
"include": [
"analysis",
"media",
"tweet",
"author",
"similar"
]
}
}
}{
"id": 142,
"pageUrl": "https://ref.theseeker.io/r/142",
"analysis": {
"title": "어두운 화면에 지표를 촘촘히 담은 금융 대시보드",
"titleEn": "A dense dark fintech dashboard",
"summary": "중요한 수치를 상단에 모으고 차트와 거래 내역을 한눈에 비교할 수 있도록 배치했습니다.",
"summaryEn": "Key figures, charts and transactions are arranged for quick comparison.",
"description": "상단에는 주요 지표를 두고 아래에는 시계열 차트와 거래 표를 나란히 배치해 탐색 흐름을 단순하게 만들었습니다.",
"descriptionEn": "Key metrics lead into a time-series chart and transaction table for a clear reading path.",
"category": "dashboard",
"tags": [
{
"slug": "dark-mode",
"label": "다크 모드",
"facet": "mood"
}
],
"vibe": [
"minimal",
"dark-mode"
],
"palette": [
{
"hex": "#101014",
"name": "짙은 먹색"
}
],
"hasText": true,
"notes": null,
"confidence": 0.94
},
"media": [
{
"mediaId": 401,
"index": 0,
"kind": "image",
"width": 1200,
"height": 800,
"caption": "주요 지표와 거래 내역이 함께 보이는 대시보드 화면",
"captionEn": "Dashboard with key metrics and transaction history",
"tags": [
"dashboard",
"chart"
],
"urls": {
"small": "https://pbs.twimg.com/media/Gh7Vq4XWAAIu9nB?format=webp&name=small",
"medium": "https://pbs.twimg.com/media/Gh7Vq4XWAAIu9nB?format=webp&name=medium",
"large": "https://pbs.twimg.com/media/Gh7Vq4XWAAIu9nB?format=webp&name=large",
"orig": "https://pbs.twimg.com/media/Gh7Vq4XWAAIu9nB?format=webp&name=orig"
}
}
],
"tweet": {
"text": "Exploring a calmer way to read financial data.",
"url": "https://x.com/designarchive/status/1899212345678901234",
"postedAt": "2026-03-12T09:30:00.000Z",
"metrics": {
"likes": 240,
"retweets": 38,
"replies": 12,
"views": 18400
}
},
"author": {
"handle": "designarchive",
"name": "Design Archive",
"bio": "Digital product designer",
"followers": 8200,
"referenceCount": 17,
"pageUrl": "https://ref.theseeker.io/authors/designarchive",
"xUrl": "https://x.com/designarchive"
},
"similar": [
{
"id": 142,
"title": "어두운 화면에 지표를 촘촘히 담은 금융 대시보드",
"summary": "중요한 수치를 상단에 모으고 차트와 거래 내역을 한눈에 비교할 수 있도록 배치했습니다.",
"category": "dashboard",
"tags": [
"dark-mode",
"dense-table"
],
"palette": [
"#101014",
"#c8f169"
],
"author": "designarchive",
"postedAt": "2026-03-12T09:30:00.000Z",
"mediaCount": 1,
"hasVideo": false,
"thumbnailUrl": "https://pbs.twimg.com/media/Gh7Vq4XWAAIu9nB?format=webp&name=small",
"pageUrl": "https://ref.theseeker.io/r/142"
}
]
}선택한 레퍼런스의 이미지와 영상 포스터를 직접 확인합니다. 이미지별 오류는 다른 이미지 조회를 막지 않습니다.
모델에게 전달되는 설명
Fetch selected public reference images or video posters as image content blocks; individual image failures are reported as text.
인자
| 이름 | 타입 | 필수 | 기본값 | 제약 | 설명 |
|---|---|---|---|---|---|
id | integer | 필수 | 없음 | 없음 | Positive reference ID. |
mediaIds | integer[] | 선택 | 없음 | 최대 6개 | One to six media IDs in the desired order. |
size | enumsmallmediumlarge | 선택 | medium | 없음 | Image size: small, medium or large. |
limit | integer | 선택 | 4 | 1–6 | Maximum number of images, from 1 to 6. |
예시
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_reference_images",
"arguments": {
"id": 142,
"mediaIds": [
401
],
"size": "medium"
}
}
}{
"content": [
{
"type": "text",
"text": "[0] mediaId=401 kind=image caption=Dashboard with key metrics and transaction history"
},
{
"type": "image",
"data": "UklGRg==",
"mimeType": "image/webp"
}
]
}공개 레퍼런스의 카테고리별 개수와 태그를 살펴봅니다. 원하는 분류나 검색어로 태그를 좁힐 수 있습니다.
모델에게 전달되는 설명
List global visible reference category counts and tag facets, optionally filtering facets by category, facet or substring.
인자
| 이름 | 타입 | 필수 | 기본값 | 제약 | 설명 |
|---|---|---|---|---|---|
facet | enumlayoutmooddomaincomponentother | 선택 | 없음 | 없음 | Tag facet to include. |
category | enumdashboardlandingmobilecomponentbrandingmotionother | 선택 | 없음 | 없음 | Category to filter tag counts; category totals remain global. |
query | string | 선택 | 없음 | 최대 50자 | Case-insensitive substring of tag slug or label, from 1 to 50 characters. |
예시
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_tags",
"arguments": {
"category": "dashboard",
"facet": "layout"
}
}
}{
"categories": [
{
"slug": "dashboard",
"count": 28
}
],
"facets": [
{
"facet": "layout",
"tags": [
{
"slug": "dense-table",
"label": "고밀도 표",
"count": 8
}
]
}
]
}공개 레퍼런스가 있는 작가의 소개와 작업 수를 확인합니다.
모델에게 전달되는 설명
List authors with at least one public reference, including reference and video counts and profile URLs.
인자
입력 인자가 없습니다. 빈 객체로 호출합니다.
예시
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_authors",
"arguments": {}
}
}{
"authors": [
{
"handle": "designarchive",
"name": "Design Archive",
"referenceCount": 17,
"videoCount": 3,
"lastPostedAt": "2026-03-12T09:30:00.000Z",
"bio": "Digital product designer",
"pageUrl": "https://ref.theseeker.io/authors/designarchive",
"xUrl": "https://x.com/designarchive"
}
]
}여러 도구가 같은 모양의 항목을 돌려줍니다. 필드 이름은 응답 JSON 그대로입니다.
search_references의 items와 get_reference의 similar 항목입니다.
| 필드 | 타입 | 설명 |
|---|---|---|
id | integer | 레퍼런스를 식별하는 번호입니다. |
title | string | 디자인의 특징을 담은 한국어 제목입니다. |
summary | string | 디자인의 구성과 인상을 짧게 정리한 한국어 요약입니다. |
category | string | 대시보드, 랜딩 페이지 등 디자인의 분류입니다. |
tags | string[] | 검색에 사용할 수 있는 태그의 슬러그입니다. |
palette | string[] | 디자인에서 추출한 색상의 HEX 값입니다. |
author | string | 작가의 X 계정 핸들입니다. |
postedAt | string | 원본 게시물이 올라온 시각입니다. |
mediaCount | integer | 공개된 이미지와 영상의 개수입니다. |
hasVideo | boolean | 공개된 영상이나 GIF가 있는지 나타냅니다. |
thumbnailUrl | string | null | 첫 번째 공개 미디어의 작은 이미지나 영상 포스터 주소입니다. |
pageUrl | string | 브라우저에서 볼 수 있는 레퍼런스 페이지 주소입니다. |
get_reference의 media 항목입니다.
| 필드 | 타입 | 설명 |
|---|---|---|
mediaId | integer | 미디어를 식별하는 번호입니다. |
index | integer | 공개된 미디어 목록에서의 위치로, 0부터 시작합니다. |
kind | image | video | gif | 이미지, 영상, GIF 중 미디어의 종류입니다. |
width | integer | null | 미디어의 가로 크기입니다. |
height | integer | null | 미디어의 세로 크기입니다. |
caption | string | null | 해당 이미지에 대한 한국어 설명입니다. |
captionEn | string | null | 해당 이미지에 대한 영어 설명입니다. |
tags | string[] | 이 미디어에 달린 태그 목록입니다. |
urls | object | 이미지는 small·medium·large·orig 주소, 영상과 GIF는 poster·video 주소를 제공합니다. |
list_authors의 authors 항목입니다.
| 필드 | 타입 | 설명 |
|---|---|---|
handle | string | 작가의 X 계정 핸들입니다. |
name | string | 작가가 표시한 이름입니다. |
referenceCount | integer | 공개된 레퍼런스의 개수입니다. |
videoCount | integer | 영상이 담긴 공개 레퍼런스의 개수입니다. |
lastPostedAt | string | null | 가장 최근 공개 게시물이 올라온 시각입니다. |
bio | string | null | 작가의 프로필 소개입니다. |
pageUrl | string | 더씨커 작가 페이지 주소입니다. |
xUrl | string | 작가의 X 프로필 주소입니다. |
도구 오류는 isError: true인 결과로 돌아오고, 본문에는 error.code와 error.message가 담긴 JSON이 들어 있습니다. HTTP 오류는 도구를 호출하기 전에 요청 자체를 거절한 경우입니다.
| 코드 | 위치 | 의미 |
|---|---|---|
NOT_FOUND | 도구 결과 | 요청한 레퍼런스를 찾을 수 없거나 공개되지 않았습니다. |
VALIDATION | 도구 결과 | 도구에 전달한 값이 허용 범위나 형식에 맞지 않습니다. |
INTERNAL | 도구 결과 | 조회 중 문제가 발생했습니다. 잠시 후 다시 시도해 주세요. |
405 | HTTP 응답 | 허용되지 않은 HTTP 메서드입니다. 도구 호출에는 POST를 사용하세요. |
406 | HTTP 응답 | Accept 헤더에 application/json과 text/event-stream을 모두 포함해 주세요. |
429/-32029 | HTTP 응답 | 분당 요청 한도를 넘었습니다. Retry-After에 안내된 뒤 다시 요청하세요. |