에이전트
도구 레퍼런스
MCP 서버가 여는 도구 전부. 무엇을 받고 무엇을 돌려주는지.
토큰에 권한이 있는 도구만 목록에 나옵니다. 안 보이는 도구를 에이전트가 부르는 일은 없습니다.
모든 도구는 API 가 쓰는 REST 라우트를 그대로 부릅니다. 구현이 한 벌이라 REST 에서 막히는 제약은 MCP 에서도 막힙니다.
권한
| 이름 | 타입 | 설명 |
|---|---|---|
accounts:read | read | List connected channels. |
posts:read | read | Read publishing history, replies and insights. |
posts:write | write | Publish, delete, reply, hide and upload. |
offline_access | oauth | Keep the agent connected after the browser closes. |
accounts:read 는 연결된 채널을 읽습니다. posts:read 는 발행 기록을 읽습니다. posts:write 는 발행·삭제·답글·업로드를 합니다. offline_access 는 브라우저를 닫아도 연결이 살아 있게 합니다.
Tools
| 이름 | 타입 | 설명 |
|---|---|---|
list_accounts | accounts:read | Connected channels with their ids. Call it before publishing. |
select_channels | accounts:read | Pick which channels to post to, and show the result to the person before publishing. |
list_platforms | accounts:read | Every channel and its limits. |
list_posts | posts:read | Recent publishes made through uplika. |
list_channel_posts | posts:read | What is on the channel right now, including posts written in the app. Each item carries a permalink. |
publish | posts:write | content, accountIds, optional mediaIds, and options for per-channel settings. YouTube needs options.youtube.title and exactly one video. |
open_post | posts:read | One post's text, reply thread and metrics in a single call. The right tool when someone hands you a link. |
get_post | posts:read | One publish and the status of each target. |
retry_post | posts:write | Retry only the targets that failed. |
delete_post | posts:write | Delete the post from the channel. |
list_replies | posts:read | The reply thread under a post. |
reply | posts:write | id, content, optional replyTo for a nested reply. |
hide_reply | posts:write | replyId, postId, optional hide (default true). |
get_insights | posts:read | Views, likes, replies, reposts, quotes, shares. |
get_quota | posts:read | How much of the 24 hour allowance is used. Live usage from the platform, not the static limits. |
media_upload_link | posts:write | Ask the person to upload from their own device. Returns a short-lived link to hand them. |
media_upload_status | posts:read | Has the person uploaded yet? Returns waiting, ready or expired plus the media ids. |
media_from_url | posts:write | Attach a file that is already on the public web. One step, no upload. Share links from Drive and Dropbox return HTML, not the file. |
media_presign | posts:write | Get a media id and a one-time upload URL. |
media_complete | posts:write | Confirm the upload before publishing. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "publish",
"arguments": {
"content": "Shipped nested replies today.",
"accountIds": ["acc_01H..."],
"mediaIds": ["med_01H..."]
}
}
}자주 묻는 것
에이전트에 도구가 안 보입니다
토큰에 그 도구의 권한이 없어서입니다. 도구는 권한별로 나오기 때문에 읽기 전용 연결에는 publish 가 아예 안 뜹니다. 불렀다가 실패하는 것보다 낫습니다.
어떤 도구를 먼저 불러야 하나요?
list_accounts 입니다. publish 는 핸들이 아니라 계정 id 를 받아서, 이걸 건너뛴 에이전트는 넘겨짚거나 스스로 답할 수 있었던 걸 사람에게 되묻습니다.
도구가 REST API 와 다르게 동작하나요?
아닙니다. 도구는 REST 가 쓰는 라우트를 그대로 부릅니다. 구현이 한 벌이라 REST 에서 막히는 제약은 MCP 에서도 똑같이 막힙니다.