setlog-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@setlog-mcpprepare C:\Videos\clip.mp4 with comment 'Hiking today! ð' for the family collection"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
setlog-mcp
æ¬äººã®setlogã¢ã«ãŠã³ããžãæå·åããMP4åç»ãæ·»ä»ããéå ¬åŒã®ããŒã«ã«MCPãµãŒããŒã§ãã
ã¡ãŒã«ã³ãŒãèªèšŒãã¹ããæ¿èªã«ããæ¢åã®æå·éµã®åŒãç¶ããæçš¿å äžèЧãåç»ã®æºåã»æ·»ä»ã»èªã¿æ»ãã«å¯Ÿå¿ããŸããå ¬åŒã®MCP Python SDKã䜿ããstdioã§æ¥ç¶ããŸãã
çŸåšã®å¯Ÿå¿ç°å¢ã¯ Windows / Python 3.11ã3.14 / MP4 ã§ããèªèšŒæ å ±ãšæå·éµã®ä¿ç®¡ã«ã¯Windowsã®DPAPIã䜿çšããŸããmacOSãšLinuxã§ã®ã¢ã«ãŠã³ãæäœã¯æªå¯Ÿå¿ã§ãã
ã§ããããš
æ¬äººã®ç»é²ã¡ãŒã«ãžã®ç¢ºèªã³ãŒãéä¿¡ãšãã°ã€ã³ã
ã¹ããã®ãå¥ã®ç«¯æ«ã«ç§»è¡ãã§ãæ¢åã®æå·éµãæ¬äººæ¿èªã®ããšã§åŒãç¶ãã
æçš¿å ã®ååã»IDã»æ¬äººä»¥å€ã®åå è æ°ã確èªããã
MP4ãæå·åããéä¿¡ããã«æçš¿å ã»åä¿¡è æ°ã»æºåIDã確èªããã
åç»ã«æ·»ããã³ã¡ã³ããæå®ãããæ¥æ¬èªã»æ¹è¡ã»çµµæåã«å¯Ÿå¿ããã
æå®ãããæºåIDã®åç»ãæ·»ä»ããæçš¿ãèªã¿æ»ããŠç §åããã
æçš¿èŠæ±åŸã«å¿çã倱ãããå Žåãèªååéããæ¢åã®æçš¿ã確èªããã
è€æ°ã®åç»ããŸãšããŠæºåããæå®ããé çªã§äžæ¬æçš¿ããã
æå·®ä»ãã®æ¥æãšæçš¿ééãæå®ããŠäºçŽããå¥ããã»ã¹ã®ã¯ãŒã«ãŒã§å®è¡ããã
æçš¿å±¥æŽãé²èЧããæ¥ä»ç¯å²ã»ã¿ã€ã ãŸãŒã³ã»1æ¥ã®åºåãæå»ãæå®ããŠæ€çŽ¢ããã
æå·éµã®åŒãç¶ãã§ã¯ deactivateOldDevice: false ã䜿çšããŸããã¢ã«ãŠã³ãã®å
¬ééµãäœãçŽãåŠçã¯ãããŸããã
Related MCP server: x-api-mcp
ã€ã³ã¹ããŒã«
FFmpegã«å«ãŸãã ffprobe ãã€ã³ã¹ããŒã«ããPATHã«è¿œå ããŠãã ããã
git clone https://github.com/shirafukayayoi/setlog-mcp.git
cd setlog-mcp
py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install .Python 3.12ã3.14ã䜿ãå Žåã¯ãpy -3.11 ã®ããŒãžã§ã³ã倿Žã§ããŸãã
ã¢ããªçšAPIããŒ
ãã®ãªããžããªã«ã¯ãsetlogã®ã¢ããªçšAPIããŒãAPKãéã³ã³ãã€ã«ãããœãŒã¹ãå人ã®èªèšŒããŒã¿ãå«ããŠããŸããã
èªåã§çšæããã¢ããªçšAPIããŒããæ¬¡ã®ããããã§èšå®ããŠãã ããã
SETLOG_API_KEYç°å¢å€æ°ãMCPãµãŒããŒããã»ã¹ãžæž¡ããæ¬¡ã®ã³ãã³ãã§å ¥åãããå ¥åå 容ã¯è¡šç€ºããããDPAPIã§æå·åããŠä¿åãããŸãã
.\.venv\Scripts\setlog-mcp.exe configure
.\.venv\Scripts\setlog-mcp.exe statusAPIããŒã®å€ã¯ã³ãã³ãã©ã€ã³åŒæ°ãIssueãã¹ã¯ãªãŒã³ã·ã§ããããªããžããªãžè²Œãä»ããªãã§ãã ããã
MCPã¯ã©ã€ã¢ã³ããžã®ç»é²
stdioãµãŒããŒãšããŠãã€ã³ã¹ããŒã«ããå®è¡ãã¡ã€ã«ãç»é²ããŸãã
ã³ãã³ã: C:\path\to\setlog-mcp\.venv\Scripts\setlog-mcp.exe
åŒæ°: servemcpServers 圢åŒã䜿ãã¯ã©ã€ã¢ã³ãã®èšå®äŸã§ããèšå®ãã¡ã€ã«ã®å Žæãé
ç®åã¯å©çšããã¯ã©ã€ã¢ã³ãã«åãããŠãã ããã
{
"mcpServers": {
"setlog": {
"command": "C:\\path\\to\\setlog-mcp\\.venv\\Scripts\\setlog-mcp.exe",
"args": ["serve"]
}
}
}ãµãŒããŒã¯HTTPããŒããéããŸãããæšæºåºåã¯MCPéä¿¡ã«äœ¿ããŸãã
ååã®æ¬äººèªèšŒ
get_statusã§APIããŒãšffprobeã®èšå®ã確èªãããstart_email_loginã«ç»é²ã¡ãŒã«ãæž¡ããå±ãã確èªã³ãŒãã
verify_email_loginã«æž¡ããã¹ããã®setlogã§ãã¢ã«ãŠã³ã â å¥ã®ç«¯æ«ã«ç§»è¡ããéãã
衚瀺ããã8æ¡ã³ãŒãã
claim_key_transferã«æž¡ããã¹ããã§
setlog-mcp (Windows)ãžã®åŒãç¶ããæ¿èªãããcheck_key_transferã§éµã®åä¿¡ãšç»é²éµãšã®äžèŽã確èªããã
èªèšŒãšéµã®åŒãç¶ãã¯ãä¿åå
ãåãã«ããŠããéãéåžžã®æ·»ä»ããšã«ç¹°ãè¿ãå¿
èŠã¯ãããŸãããèªèšŒã®æå¹æ§ã¯ get_profile ã§ç¢ºèªã§ããŸããã³ãŒãèªèšŒã®çµæãæ°èŠç»é²ãèŠæ±ããå Žåãã¢ã«ãŠã³ããäœãã忢ããŸãã
åç»ãæ·»ä»ãã
list_collectionsã§æçš¿å ã®IDãšåå è æ°ã確èªãããprepare_videoã«åç»ã®çµ¶å¯Ÿãã¹ãšæçš¿å IDãæž¡ããã³ã¡ã³ããæ·»ããå Žåã¯commentã«æ¬æãæå®ãããè¿ãããæçš¿å ã»åä¿¡è æ°ã»åç»æ å ±ã»ã³ã¡ã³ãæ¬æã確èªããã
ãŠãŒã¶ãŒããäŸé Œãããéä¿¡ã«å¯ŸããŠãæºåIDã
send_prepared_videoã«æž¡ããçµæãäžæãªãšãã¯ãåãåç»ãåéãã
verify_videoã§ç¢ºèªããã
prepare_video ã¯ãã¡ã€ã«ãæå·åããŠããŒã«ã«ã«æºåããã ãã§ãæçš¿ããŸãããsend_prepared_video ã¯å®éã«æçš¿ããŸããåç»ã®åãåããåå§çž®ã¯èªåã§ã¯è¡ããŸããã
ã³ã¡ã³ãä»ãã®æºåäŸã§ãã
{
"video_path": "C:\\Videos\\clip.mp4",
"collection_id": "æçš¿å
ID",
"comment": "仿¥ã®èšé²\n楜ããã£ãïŒð"
}ã³ã¡ã³ãã¯setlogæšæºã®ãã£ãã·ã§ã³ãšããŠåç»ã«è¡šç€ºãããŸããåç»ãã¡ã€ã«ãžã®æåã®çŒã蟌ã¿ããæçš¿åŸã®è¿ä¿¡ã³ã¡ã³ããšã¯å¥ã®æ©èœã§ããæ¬æã¯åç»ã®æå·åé åã«ã¯å«ãŸãããcaptions ã¡ã¿ããŒã¿ãšããŠAPIãžéä¿¡ããŸããã³ã¡ã³ããçç¥ããå Žåã空çœã ãã®å Žåã¯ãåç»ã ããæºåããŸããæçš¿ã®èªã¿æ»ãã§ã¯ã³ã¡ã³ãæ¬æã®äžèŽã確èªããŸãã
ããŒã« | çšé |
| éä¿¡ããã«èšå®ãšä¿åããŒã¿ã®æç¡ãç¢ºèª |
| æ¬äººãããã£ãŒã«ãšèªèšŒãç¢ºèª |
| æçš¿å ã®IDã»ååã»åå è æ°ãååŸ |
| æ¬äººã®ç»é²ã¡ãŒã«ãžç¢ºèªã³ãŒããéä¿¡ |
| ã¡ãŒã«ã³ãŒããæ€èšŒããèªèšŒãä¿å |
| ã¹ããããã®éµã®åŒãç¶ããèŠæ± |
| æ¿èªç¶æ ãšéµã®åä¿¡ãç¢ºèª |
| åç»ãšä»»æã®ã³ã¡ã³ããéä¿¡åã®ç¶æ ã«æºå |
| æºåããåç»ãå®éã«æ·»ä» |
| æçš¿ãèªã¿æ»ããŠç §å |
| åç»ã»æçš¿å ã»ã³ã¡ã³ããæå€§50ä»¶ãŸãšããŠæºå |
| æå®é ã«äžæ¬éä¿¡ã倱ææã¯åŸç¶ã忢 |
| æºåIDãæ¥æã»æçš¿ééä»ãã§äºçŽ |
| äºçŽäžèЧã»åæ¢çç±ã»ã¯ãŒã«ãŒæçµç¢ºèªæ¥æãååŸ |
| äºçŽã®èªåå®è¡ãåãæ¶ã |
| æçš¿å±¥æŽãæ°ããé ã«ååŸ |
| æ¥ä»ã»ã¿ã€ã ãŸãŒã³ã»åºåãæå»ã§æçš¿ãæ€çŽ¢ |
äžæ¬æçš¿
prepare_video_batch ã« videos ãæž¡ããŸããåç»ããšã«æçš¿å
ãšã³ã¡ã³ããæå®ã§ããŸãã
{
"videos": [
{"video_path": "C:\\Videos\\morning.mp4", "collection_id": "æçš¿å
ID", "comment": "æã®èšé²"},
{"video_path": "C:\\Videos\\evening.mp4", "collection_id": "æçš¿å
ID", "comment": "å€ã®èšé²ð"}
]
}è¿ãããå
šä»¶ã®ãã¬ãã¥ãŒã確èªããéä¿¡ããæºåIDã send_prepared_videos ã® job_ids é
åãžé çªã«æå®ããŠãã ããã1åã«1ã50ä»¶ãæ±ããŸããåãæºåIDã®éè€æå®ã¯æåŠããŸãã
æºåéäžã«å€±æããå Žåãstatus: partial ãšãæºåã§ããåã® job_idsã倱æããäœçœ®ãè¿ããŸããäžæ¬éä¿¡ã®éäžã§å€±æããå Žå㯠status: blocked ãšæªå®äºã® remaining_job_ids ãè¿ããåŸç¶ã忢ããŸãã
ç¶æ ã確èªããŠããåãIDäžèЧã§éä¿¡ãåå®è¡ãããšãç §åæžã¿ã®æçš¿ã¯é£ã°ããŸããæçš¿èŠæ±æžã¿ã§çµæäžæã®ãã®ã¯èªã¿æ»ãã ããè¡ããPOSTãçŽããŸãããèªã¿æ»ãã«ã倱æããå Žåã¯åã³åæ¢ããŸãã
äºçŽæçš¿
åç»ã¯å
ã«åäœãŸãã¯äžæ¬ã§æºåããŸããschedule_videos ãžæºåIDãšäºçŽæ¥æãæž¡ããšããã®æç¹ã§å°æ¥ã®éä¿¡ãäºçŽããŸãã
{
"job_ids": ["æºåID1", "æºåID2"],
"publish_at": "2030-01-01T20:00:00+09:00",
"interval_seconds": 300
}ãã®äŸã§ã¯1æ¬ç®ãæ¥æ¬æé20æã2æ¬ç®ã20æ5åã«äºçŽããŸãã1æ¬ã ãã®äºçŽãåãããŒã«ã§æå®ã§ããŸããæå·®ã®ãªãæ¥æãéå»ã®æ¥æãè² ã®æçš¿ééã¯åãä»ããŸãããäºçŽäžèŠ§ã® publish_at ã¯UTCã® Z 圢åŒã§è¿ããŸãã
äºçŽã®å®è¡ã«ã¯ãåãWindowsãŠãŒã¶ãŒã§ã¯ãŒã«ãŒãèµ·åããŠããå¿ èŠããããŸãã MCPã¯ã©ã€ã¢ã³ããéããŠããã¯ãŒã«ãŒãåããŠããã°å®è¡ãç¶ããŸãã
.\.venv\Scripts\setlog-worker.exeæ¢å®ã§15ç§ããšã«ç¢ºèªããŸãã確èªéé㯠--poll-seconds 30 ã®ããã«å€æŽã§ããŸããéä¿¡ãåã®åç»ã®åŠçæéããããããæå®ç§ã¡ããã©ã®æçš¿ã¯ä¿èšŒããŸãããPCã®åæ¢ã»ã¹ãªãŒãäžã¯å®è¡ããããåéåŸã«æéã®éããäºçŽãé ã«å®è¡ããŸããæçš¿æ¥æã«ã¯å®éã«æçš¿èŠæ±ãè¡ãæå»ã䜿çšããŸãã
å¿ èŠãªãšãã ãæéã«éããäºçŽãå®è¡ããå Žåã¯æ¬¡ã®ã³ãã³ãã䜿çšããŸãã
.\.venv\Scripts\setlog-worker.exe --onceWindowsã®ã¿ã¹ã¯ã¹ã±ãžã¥ãŒã©ã§å®æå®è¡ããå Žåã¯ãåãWindowsãŠãŒã¶ãŒã®ããã°ãªã³ããŠãããšãã®ã¿å®è¡ããéžã³ãä»®æ³ç°å¢ã® setlog-worker.exe ãšåŒæ° --once ãç»é²ã§ããŸããè€æ°ã®ã¯ãŒã«ãŒãMCPãåãä¿åå
ãžæžã蟌ãå Žåã¯ãæäœããã¯ã§éè€å®è¡ãé²ããŸããç«¶åæã¯æ¬¡åã®ç¢ºèªãžåããŸãã
list_scheduled_posts ã§ç¶æ
ã確èªããè¿ããã schedule_id ã cancel_scheduled_post ãžæž¡ããšåãæ¶ããŸããworker_last_seen ã¯ã¯ãŒã«ãŒãæåŸã«ç¢ºèªããæ¥æã§ãããçŸåšã®çšŒåãä¿èšŒããå€ã§ã¯ãããŸããã
äºçŽã®ç¶æ | æå³ |
| å®è¡åŸ ã¡ |
| å®è¡äžããŸãã¯ååäžæãããåŠç |
| æçš¿ã®ç §åãŸã§å®äº |
| æçš¿èŠæ±åã«å€±æãä¿åç¶æ ã確èªããŠæåã§åäºçŽå¯èœ |
| æçš¿èŠæ±åŸã®çµæãäžæã |
| åãäžæ¬äºçŽå ã®å è¡æçš¿ã忢ãããããåŸç¶ã®å®è¡ã忢 |
| èªåå®è¡ãåãæ¶ãæžã¿ |
åãäžæ¬äºçŽå ã§1ä»¶ã忢ãããšããã®ã°ã«ãŒãã®åŸç¶ãæ¢ããŸããä»ã®ç¬ç«ããäºçŽã°ã«ãŒãã¯ç¶è¡ããŸããåèµ·åæã«ã¯ãæçš¿èŠæ±åã®åŠçã¯åéããæçš¿èŠæ±æžã¿ãªãèªã¿æ»ãã§ç¢ºèªããŸããèªèšŒã¢ã«ãŠã³ããåä¿¡è ã®éµãå€ãã£ãå Žåã忢ããŸãã
äºçŽãæå¹ãªåç»ã¯æåéä¿¡ã§ããŸãããå ã«äºçŽãåãæ¶ããŠãã ãããåãæ¶ãã¯æçš¿ã®åé€ãè¡ãæ©èœã§ã¯ãããŸãããå®è¡äžã®æäœããã¯ãä¿æãããŠããå Žåã¯ãåŠçåŸã«ç¶æ ã確èªããŠãã ããã
æçš¿å±¥æŽãšæ¥ä»æ€çŽ¢
list_posts ãž collection_id ãšä»»æã® limit ãæž¡ããšãææ°ã®æçš¿ãååŸã§ããŸãã
search_posts_by_date ã®äŸã§ããend_date ãçç¥ãããš1æ¥ã ããæ€çŽ¢ããŸããçµäºæ¥ãæ€çŽ¢å¯Ÿè±¡ã«å«ã¿ãŸãã
{
"collection_id": "æçš¿å
ID",
"start_date": "2026-10-30",
"end_date": "2026-10-31",
"timezone_name": "Asia/Tokyo",
"day_start_hour": 4,
"limit": 50
}æ¢å®ã¯setlogã«åãããæ4æåºåãã§ããããšãã°10æ31æ¥ã¯ãæ¥æ¬æé10æ31æ¥4æãã11æ1æ¥4æã®çŽåãŸã§ãæ±ããŸããéåžžã®0æããã®æŠæ¥ã§æ€çŽ¢ããå Žå㯠day_start_hour: 0 ãæå®ããŸããtimezone_name ã¯IANAåã§æå®ãã倿éãèæ
®ããŸãã
æ¥ä»ç¯å²ã¯æå€§366æ¥ã1ããŒãžã¯æå€§100ä»¶ã§ããçµæã® has_more ã true ã®å Žåã¯ãnext_cursor ã cursor ã«æž¡ããåãæ€çŽ¢æ¡ä»¶ã§ç¶ããååŸããŠãã ãããäžéæ¥æã®å¢çãå逿žã¿æçš¿ãé€å€ãããããä»¶æ°ãæå®ãã limit ããå°ãªããŠãç¶ããããå ŽåããããŸãã
æçš¿æ¥æã»æçš¿IDã»éä¿¡è IDã»ã³ã¡ã³ããªã©ãè¿ããŸããæå·éµããšã³ãããŒããé ä¿¡URLã¯è¿ããŸãããæ¥ä»æ€çŽ¢ã¯æçš¿æ¥æã察象ãšããåç»ã®æ®åœ±æ¥ãè§£æããæ©èœã§ã¯ãããŸããã
èšå®ãšä¿åå
æ¢å®ã®ä¿åå
㯠%LOCALAPPDATA%\setlog-mcp ã§ããããŒã¯ã³ãç§å¯éµãæºåããŒã¿ã®JSONã¯DPAPIã§æå·åããŸããåç»æ¬äœã¯ã¢ããªäºæã®æå·åãè¡ã£ãç¶æ
ã§ä¿åããŸãã
ç°å¢å€æ° | å 容 | æ¢å®å€ |
| èªåã§çšæããã¢ããªçšAPIã㌠| èšå®ã³ãã³ãã§ä¿ç®¡ããå€ |
| ä¿åå ã®çµ¶å¯Ÿãã¹ |
|
| åç»ã®ä¿åå°å |
|
| æ®åœ±åœã®2æåã³ãŒã | æªèšå®ãªãéä¿¡ããªã |
| ffprobeã®å®è¡ãã¡ã€ã« |
|
| æºåã§ããåç»ã®æå€§ãã€ãæ° | 268435456ïŒ256 MiBïŒ |
ä¿åå°å㯠ap-northeast-2 ãš us-east-1 ã«å¯Ÿå¿ããŸããæ®åœ±æã®UTCãªãã»ããã¯å®è¡ç°å¢ã®ã¿ã€ã ãŸãŒã³ããååŸããŸããåç»ã¯ã¡ã¢ãªãŒäžã§æå·åããããã倧ããåç»ã§ã¯ãã¡ã€ã«ãµã€ãºããå€ãã¡ã¢ãªãŒã䜿ããŸãã
CLI
.\.venv\Scripts\setlog-auth.exe profile
.\.venv\Scripts\setlog-upload.exe collections
.\.venv\Scripts\setlog-upload.exe prepare "C:\Videos\clip.mp4" --collection "æçš¿å
ID"
.\.venv\Scripts\setlog-upload.exe prepare "C:\Videos\clip.mp4" --collection "æçš¿å
ID" --comment "仿¥ã®èšé²ð"
.\.venv\Scripts\setlog-upload.exe send "æºåID"
.\.venv\Scripts\setlog-upload.exe verify "æºåID"éçºãšæ€èšŒ
.\.venv\Scripts\python.exe -m pip install -e ".[dev]"
.\.venv\Scripts\python.exe -m pytest
.\.venv\Scripts\ruff.exe check .
.\.venv\Scripts\ruff.exe format --check .
.\.venv\Scripts\python.exe -m buildèªåãã¹ãã¯åæããŒã¿ã䜿çšããã¡ãŒã«éä¿¡ãå®éã®æçš¿ã¯è¡ããŸãããæå·åã®æ¢ç¥å€ãéµãšç«¯æ«ã®äžäžèŽãæ¹ãããäºéæçš¿é²æ¢ãMCPã®åæåã»ããŒã«äžèЧã»ããŒã«åŒã³åºããæ€èšŒããŸãã
äžæ¬æçš¿ã»äºçŽã¯é åºãæçš¿ééãåæ¶ãã¢ã«ãŠã³ã倿Žãç«¶åãäžæåŸã®èªã¿æ»ããå¥ããã»ã¹ã§ã®åŸ©æ§ãæ€èšŒããŸããæ¥ä»æ€çŽ¢ã¯æ4æã»0æã®åºåãã倿éãããŒãžéããè¿åŽæ å ±ã®å¶éãæ€èšŒããŸããæçš¿å±¥æŽãšæ¥ä»æ€çŽ¢ã¯ãå®éã®stdio MCPçµç±ã§æ¬äººã®æ¢ç¥ã®æçš¿ãèªã¿åã確èªããŠããŸãã
ã³ã¡ã³ãä»ãæçš¿ã«ã€ããŠã¯ããã£ãã·ã§ã³ã®é信圢åŒãæºåããŒã¿ã®ä¿åãéä¿¡ã»èªã¿æ»ãæã®æ¬æç §åãåæããŒã¿ã§æ€èšŒããŠããŸããå®ãµãŒãã¹ãžã®ã³ã¡ã³ãä»ãæçš¿ãšã¹ããäžã®è¡šç€ºã¯æªç¢ºèªã§ãã
é信圢åŒã¯setlog Android 1.3ãããšã«å®è£ ããŸãããéçºæã«ã¯æ¬äººã®ã¿ã®æçš¿å ã§2ç§ã®MP4ãæ·»ä»ããé ä¿¡å ããååŸããåç»ã®åŸ©å·ã»å ããŒã¿ãšã®SHA-256äžèŽãšãã¹ããã§ã®åçã確èªããŠããŸããéå ¬éAPIã䜿çšãããããsetlogåŽã®æŽæ°ã«è¿œåŸãå¿ èŠã«ãªãå ŽåããããŸãã
ã©ã€ã»ã³ã¹
ãã®ãªããžããªã®èªäœã³ãŒã㯠MIT ã§ããsetlogããã³New Chat Inc.ã®å ¬åŒãããžã§ã¯ãã§ã¯ãããŸããã
Available Tools
17 toolscancel_scheduled_postAIdempotent
æå®ããäºçŽã®èªåå®è¡ãåãæ¶ããå®è¡æžã¿ã®æçš¿ã¯åé€ããªãã
| Name | Required | Description | Default |
|---|---|---|---|
| schedule_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=false, idempotentHint=true, and readOnlyHint=false, so the safety profile is known from structured data. The description adds genuine value by clarifying that cancelling does not delete posts that have already been executed, which is not derivable from the annotations and is consistent with them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the primary action front-loaded and the boundary condition (does not delete executed posts) immediately following. No filler or redundant restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the non-destructive behavior and idempotency are covered. The only material gap is the lack of guidance on schedule_id provenance and on when to choose cancellation over an alternative operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter (schedule_id) and the schema description coverage is 0%, so the description must compensate but does so only marginally by referring to 'the specified scheduled post'. It does not explain the format of the schedule_id or where to obtain it, leaving an agent to infer this from sibling tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (cancel the automatic execution of the specified scheduled post) and clarifies the scope of the action. It distinguishes the operation from sibling operations like list_scheduled_posts through the explicit cancel semantics, though it doesn't name a sibling or alternative directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives enough context to infer that this tool is for scheduled posts that have not yet executed, and that previously executed posts are out of scope. However, it provides no explicit when-to-use vs alternatives routing, such as pointing to a delete or edit counterpart when a scheduled entry should be modified rather than cancelled.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_key_transferA
ã¹ããåŽã®æ¿èªåŸã«éµãåãåããç»é²éµãšã®äžèŽãæ€èšŒããŠä¿åãããå ã®ç«¯æ«ã¯ç¡å¹åããªãã
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-read-only, non-destructive, non-idempotent, open-world call; the description adds substantive context beyond that: it persists the key ('ä¿åãã') and explicitly notes the original device is not invalidated. That last clause is valuable disambiguation an agent could not derive from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the action and followed by the one caveat that matters. Nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and with no parameters the description covers the essential mutation behavior and side-effect scope. Minor gap: it does not state prerequisites such as authentication state or what happens on key mismatch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing semantic to explain and the baseline is 4. The description correctly focuses on behavior rather than arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specifies the operation precisely: receive the key after smartphone approval, verify it against the registered key, and save it. A clear verb+resource chain. It does not explicitly distinguish itself from the sibling claim_key_transfer, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'after smartphone-side approval' implies a precondition and timing for when to call it. However, it never names or contrasts with claim_key_transfer or the email-login siblings, so the agent must infer which transfer tool to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
claim_key_transferA
ã¹ããã®ãå¥ã®ç«¯æ«ã«ç§»è¡ãã«è¡šç€ºããã8æ¡ã³ãŒãã§ãæ¬äººã®æ¢åæå·éµã®åŒãç¶ããèŠæ±ããã
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the mutation profile is partly covered. The description adds that the operation targets the caller's own existing key and originates from a device screen, but it never discloses that the code is presumably single-use/non-idempotent, what happens to the key on the source device, or what failure looks like for an expired or invalid code â material for a key-migration mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, where the code's origin is placed before the action it enables. Nothing is repeated from the schema or annotations and no clause could be cut without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a security-relevant, non-idempotent key-transfer mutation in a suite that also offers check_key_transfer, the description omits the ordering with that sibling and any note on one-time codes or post-claim state, which an agent needs to sequence the call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the only parameter is titled simply 'Code', so the description does the real explanatory work: it specifies the format (8 digits) and the exact source (the 'å¥ã®ç«¯æ«ã«ç§»è¡' screen on the smartphone), which is what an agent actually needs to source the value. It stops short of stating expiry, leading-zero handling, or whether the code is case/format-normalized.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: requesting takeover of the user's existing encryption key (æ¬äººã®æ¢åæå·éµã®åŒãç¶ããèŠæ±ãã), and it pins the trigger to an 8-digit code shown on the phone's migration screen. That is enough to distinguish it in intent from the sibling check_key_transfer, though it never names that sibling explicitly, so the differentiation requires the agent to infer it from the wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage context given is the provenance of the code ('ã¹ããã®ãå¥ã®ç«¯æ«ã«ç§»è¡ãã«è¡šç€ºããã8æ¡ã³ãŒã'), which implicitly tells the agent this is used during a device-migration flow. There is no explicit when-to-use, no exclusion, and no statement about whether check_key_transfer should be called first or when this should be avoided. Usage is implied rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileARead-onlyIdempotent
æ¬äººãããã£ãŒã«ãèªã¿åã£ãŠãã°ã€ã³ãæ€èšŒãããããŒã¯ã³ãæå·éµã¯è¿ããªãã
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds genuinely new behavioral information beyond them: it explicitly states that tokens and encryption keys are not returned, which sets expectations about the response payload. It does not say what happens on an invalid or expired login, which would have completed the picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero waste, with the core action front-loaded and the output caveat second. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, rich annotations, and an output schema present, the description only needs to frame intent and scope, which it does. The one gap is failure behavior (what an agent should infer from an authentication failure), which is relevant to a tool whose stated purpose is login verification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the schema leaves nothing undocumented and the baseline of 4 applies. The description correctly adds no parameter discussion, which is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (read one's own profile) plus the intent (verify login), which is more than a restated name. It is distinguishable from the login siblings (start_email_login, verify_email_login) by being a post-login profile read, though it does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'to verify login' implies when the tool is used (session/token validation), but there is no explicit guidance on when to prefer it over verify_email_login or get_status, and no stated preconditions. Usage is inferable rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statusARead-onlyIdempotent
éä¿¡ããã«èšå®ãä¿åæžã¿ã»ãã·ã§ã³ãšéµã®æç¡ã確èªãããæå¹æ§ã¯get_profileã§ç¢ºèªããã
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior. The description adds meaningful context beyond them: this check happens without communicating, i.e. it is a local/offline status probe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action and followed by the key alternative. There is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema available, the description need not explain return values. It covers the local-only nature and the get_profile handoff, though it leaves 'settings' somewhat broad.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so there is no parameter semantics to explain. The baseline for a no-parameter tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (confirm/check) and concrete resources: settings, saved sessions, and key presence. It also distinguishes itself from the sibling get_profile by assigning validity checks to that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly implies this is the tool for checking local status without network communication, and explicitly routes validity checks to get_profile. It does not enumerate when not to use it beyond that alternative, but the main selection context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_collectionsBRead-onlyIdempotent
æçš¿å ã®IDãååãæ¬äººä»¥å€ã®åå è æ°ãååŸããã
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered externally. The description adds only which fields are returned, which duplicates the output schema rather than adding new behavioral context such as result ordering, completeness, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the resource front-loaded and no filler. It is efficient, though the terseness leaves no room for the usage or scope cues an agent would benefit from.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, an output schema to explain return values, and rich annotations covering safety and openness, the description carries little burden. What it provides is sufficient, though a note on whether all collections are returned versus a paged subset would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to disambiguate and the baseline is 4. The description correctly spends no space on parameter explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete verb (ååŸãã) and a specific resource (æçš¿å ), and enumerates the attributes returned (ID, name, participant count). It distinguishes itself reasonably from siblings like list_posts or list_scheduled_posts by focusing on destinations rather than content, though it never uses the term 'collection' that appears in the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this versus get_profile, list_posts, or other listing tools, and no prerequisites or exclusions are stated. The agent must infer usage purely from the tool name and the field list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_postsARead-onlyIdempotent
æçš¿å ã®å±¥æŽãæ°ããé ã«ååŸãããç¶ãã¯è¿ãããnext_cursorãåãæ¡ä»¶ã§æž¡ããæå€§100ä»¶ã
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| collection_id | Yes | ||
| timezone_name | No | Asia/Tokyo | |
| before_timestamp_ms | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, and non-destructive behavior, so the bar is lower. The description adds useful behavioral context: results are newest-first, pagination uses next_cursor, and the maximum is 100 records.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no wasted language. Ordering, pagination continuation, and the record cap are front-loaded and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. Still, for a five-parameter list tool at 0% schema description coverage, the description is incomplete regarding collection_id, timezone_name, and before_timestamp_ms.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains cursor and implies a limit cap, but it leaves the required collection_id and the timezone_name and before_timestamp_ms parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: retrieve posting history in newest-first order. It adds useful scope details such as maximum 100 records and cursor continuation, but it does not distinguish this tool from siblings like search_posts_by_date or list_scheduled_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains pagination usage by saying the returned next_cursor should be passed with the same conditions. However, it gives no guidance on when to choose list_posts versus related tools such as search_posts_by_date or list_scheduled_posts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_scheduled_postsBRead-onlyIdempotent
äºçŽäžèЧã»åæ¢çç±ã»ã¯ãŒã«ãŒã®æçµç¢ºèªæ¥æãèªããinclude_finished=trueã§å®äºã»åæ¶æžã¿ãå«ããã
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| include_finished | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds the notable detail that results carry stop reasons and a worker's last-confirmation timestamp, which is genuinely useful context, but it says nothing about ordering, pagination, or what limit=100 implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no waste, and the primary purpose is front-loaded before the parameter hint. It is efficient, though the second sentence is purely parameter-level and could carry more routing information at the same length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the return fields need not be spelled out, and the description does hint at them anyway. However, for a list tool with a default limit of 100 and no exclusions stated, an agent still can't tell how to page through results or how ordering works.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for both parameters. It explains include_finished (finished/cancelled included when true) but leaves limit completely undefined â no cap, no pagination, no ordering implications â leaving half the surface undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (èªã) and specific resources (äºçŽäžèЧ, 忢çç±, ã¯ãŒã«ãŒã®æçµç¢ºèªæ¥æ), so an agent knows this returns the scheduled-post queue. It does not explicitly distinguish itself from siblings such as list_posts or search_posts_by_date, so the differentiation rests on the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is the include_finished switch, which explains a parameter rather than when to call this tool versus alternatives. Nothing says when to prefer this over list_posts or search_posts_by_date, or how to pair it with cancel_scheduled_post.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_videoA
絶察ãã¹ã®MP4ãšä»»æã®ã³ã¡ã³ããæºåãããæçš¿å ã»æ¬æã»æºåIDãè¿ããéä¿¡ã¯ããªãã
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | ||
| video_path | Yes | ||
| collection_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is not read-only, is not idempotent, is open-world, and is non-destructive. The description adds useful behavior beyond that by clarifying that no send occurs and that the result includes destination, body, and a preparation ID. It does not mention authorization needs or limits, but the annotation coverage lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tightly packed sentences with the main action and the no-send constraint front-loaded. There is no redundant or filler text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema means return values need not be fully explained, and the annotations cover safety characteristics. Still, for a three-parameter preparation tool with 0% schema description coverage, the unexplained required collection_id leaves the definition only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies that video_path must be an absolute MP4 path and that comment is optional, but the required collection_id parameter is never explained as an input, leaving a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair: preparing an MP4 at an absolute path with an optional comment. It also states what is returned and explicitly says it does not send, which distinguishes it from send_prepared_video.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'éä¿¡ã¯ããªã' makes the preparation-only scope clear and implies that sending belongs to a sibling such as send_prepared_video. However, it does not explicitly compare against prepare_video_batch or state when batch preparation is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_video_batchA
åç»ã»æçš¿å ã»ã³ã¡ã³ãã1ã50ä»¶ãŸãšããŠæºåãããéä¿¡ããã忬æãšjob_idsãè¿ãã
| Name | Required | Description | Default |
|---|---|---|---|
| videos | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations flag readOnlyHint=false and idempotentHint=false, and the description adds the critical behavioral facts annotations cannot convey: nothing is transmitted and the call returns each rendered body plus job_ids. That materially tells the agent this is a non-side-effecting-in-the-world preparation step whose output must be carried forward. It still omits what happens on partial validation failure across the batch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, and the most decision-relevant fact (batch of 1â50, does not send) is front-loaded. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description is not obligated to detail return values, and it still summarizes them (bodies and job_ids). Combined with the batch limit, an agent has enough to call it correctly; only error/partial-failure behavior and the follow-up send step are left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema itself documents each nested field (video_path as absolute MP4 path, collection_id, optional comment), so the description needn't repeat them. What the description adds beyond the schema is the 1â50 item bound on the videos array, which appears nowhere in the schema's constraints â a genuinely valuable addition for the sole parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (ãŸãšããŠæºåãã / prepare in batch) and its resource (videos, destinations, comments), plus the batch size range 1â50. This clearly separates it from the single-item prepare_video and from the sending tools, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"éä¿¡ãã" (does not send) implies the two-step prepare-then-send flow and rules this tool out as the sender, which is useful implied guidance. However, it never says to use send_prepared_videos/send_prepared_videos next, nor when to prefer prepare_video over the batch variant, so the agent must infer the sequencing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schedule_videosA
æºåIDã1ã50ä»¶äºçŽãããæå·®ä»ãã®æªæ¥æ¥æãæå®ããä»»æã®ç§ééã§é çªã«éä¿¡ãããã¯ãŒã«ãŒå¿ é ã
| Name | Required | Description | Default |
|---|---|---|---|
| job_ids | Yes | ||
| publish_at | Yes | ||
| interval_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly=false, destructive=false, idempotent=false, openWorld=true), and the description adds genuinely new behavioral facts: a 1â50 item batch cap, timezone-aware future scheduling, and sequential delivery spaced by an optional interval. It does not describe failure handling or partial-batch behavior, which matters for a non-idempotent batch mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and cardinality, then timing, then the operational prerequisite. Every sentence adds information and none repeats the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations declaring the mutation profile, the description supplies what structured fields don't: batch size, timezone-aware future timing, interval pacing, and the worker dependency. Remaining gaps are error/partial-failure semantics and the relationship to the cancel/list siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning and largely does: job_ids is bounded to 1â50 prepared IDs, publish_at must be a future datetime with timezone, and interval_seconds controls the spacing between sequential sends. Format details (e.g. the exact datetime string format) are still unstated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (äºçŽãã/schedule) and resource (æºåID / prepared video IDs) plus a concrete batch bound of 1â50, which distinguishes it from the immediate-send sibling send_prepared_videos. It never names that sibling explicitly, so the differentiation is inferable rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The future-datetime requirement implies this is for deferred publishing rather than immediate sending, and 'ã¯ãŒã«ãŒå¿ é ' (worker required) is a real precondition. However, no alternative tool is named and there is no statement of when not to use it versus send_prepared_videos or how it relates to cancel_scheduled_post.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_posts_by_dateARead-onlyIdempotent
YYYY-MM-DDã®æ¥ä»ç¯å²ã§æçš¿ãæ€çŽ¢ãããçµäºæ¥ãå«ããæ¢å®ã¯æ±äº¬ã®æ4æåºåãã0ã§æŠæ¥ã
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| end_date | No | ||
| start_date | Yes | ||
| collection_id | Yes | ||
| timezone_name | No | Asia/Tokyo | |
| day_start_hour | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a safe, read-only, idempotent, non-destructive operation. The description adds useful behavioral detail beyond that: the end date is inclusive, the default boundary is Tokyo 4 AM, and setting 0 switches to calendar-day boundaries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded, and every clause adds useful information: search scope, inclusive end date, default boundary, and the special 0 value. There is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need not be explained. Annotations cover safety. But with seven parameters and no schema descriptions, the description is not fully complete: pagination via limit/cursor and the role of collection_id remain unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden. It meaningfully explains the date parameters and timezone/day-boundary behavior, but it does not explain collection_id, limit, or cursor semantics, leaving several parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: searching posts by a YYYY-MM-DD date range. It is clearly distinct from a general listing tool in concept, but it does not explicitly differentiate itself from sibling tools such as list_posts or list_scheduled_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The date-range nature implies when the tool is appropriate, and the inclusive end date is clarified. However, there is no explicit guidance on when to use this instead of list_posts or other sibling listing tools, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_prepared_videoA
ãŠãŒã¶ãŒãæå®ããæºåIDã®åç»ãå®éã«æ·»ä»ãããæçš¿èŠæ±åŸã®èªååéã¯è¡ããªãã
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The tool clarifies a specific operational behaviorâthe absence of automatic resending post-requestâwhich is a key piece of behavioral transparency not covered by the provided safety or hint annotations. This helps agents manage post-call expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is extremely concise, using two sentences where the first sentence captures the primary action and the second provides the crucial behavioral constraint with zero fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only one required parameter, the definition is robust. It defines the action, the specific input required, and a major operational limitation, making it highly useful for correct tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Given the minimal input schema, the description adds crucial meaning by clarifying that 'job_id' refers to the 'preparation ID' (æºåID), helping the agent map the abstract parameter name to the necessary resource identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is highly specific, stating it 'attaches the video' for a 'preparation ID.' This clearly distinguishes it from preparation steps or generic video upload tools within the posting workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides critical guidance on usage by specifying a behavioral constraint: 'Does not automatically resend after the post request.' This helps agents understand the tool's limitations relative to a hypothetical tool that might handle auto-resending.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_prepared_videosA
æå®ããæºåIDãé çªã«éä¿¡ããã倱ææã¯åŸç¶ã忢ããåå®è¡æãéä¿¡æžã¿åã¯åéããªãã
| Name | Required | Description | Default |
|---|---|---|---|
| job_ids | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=false and destructiveHint=false, so safety is partially covered. The description adds genuinely useful behavior beyond annotations: it sends in order, stops subsequent sends on failure, and on re-execution skips already-sent items. This resume/stop-on-failure semantics is valuable operational context. One caveat: the 'skips already-sent' resume behavior is in mild tension with idempotentHint=false, but since unsent items still fire on re-run, the tool remains non-idempotent, so it is not a hard contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the first front-loads the action, the second adds failure and resume semantics. No filler. Slightly vague in using 'æºåID' without anchoring it to job_ids, but overall efficient and well-ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. Annotations cover the safety profile and the description covers ordering, failure-stop, and resume behavior. What remains under-specified is prerequisite state (must videos be prepared first) and per-item result reporting, but the core behavior an agent needs to call it is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter job_ids has 0% schema description coverage, so the description must compensate. It does clarify that these are 'æºåID' (preparation IDs) and that they are processed in order, which gives meaning to the array. However it does not specify format, ordering constraints, batch limits, or whether duplicates are allowed, leaving meaningful gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('éä¿¡ãã' = send) and resource ('æºåID' / prepared videos) and adds that they are sent 'in order.' An agent can distinguish this batch-send tool from prepare_video. It does not explicitly differentiate it from the sibling singular send_prepared_video, but the plural name plus 'in order' clarifies the batch nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description describes what happens during execution but gives no guidance on when to use this tool vs alternatives like send_prepared_video (singular) or prepare_video. There is no mention of prerequisites (e.g., videos must first be prepared) or conditions selecting this tool over siblings, so an agent must infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_email_loginA
æå®ããæ¬äººã®ç»é²ã¡ãŒã«ãžç¢ºèªã³ãŒããéããbackup=trueã¯ç»é²æžã¿ããã¯ã¢ããã¡ãŒã«çšã
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| backup | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write-like, non-idempotent, open-world profile, so the bar is lower. The description usefully adds the actual side effect â an email with a confirmation code is dispatched â but says nothing about rate limits, code expiry, or what happens if the address is unregistered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero waste, and the primary action is front-loaded ahead of the backup-email qualifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and both parameters are covered. The remaining gap is flow context â how this hands off to verify_email_login and whether the code expires â which an agent would find useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description has to carry the load, and it does: it explains that 'email' is the target's registered address and that 'backup=true' selects the registered backup email. Both parameters get meaning beyond their bare titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and target: it sends a confirmation code to the specified person's registered email, and the second sentence clarifies the backup-email variant. This distinguishes it from the sibling verify_email_login by the start/verify naming, though the description never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus verify_email_login, nor any prerequisites (e.g. that the email must already be registered). Usage is only inferable from the tool name and the word 'start'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_email_loginA
æ¬äººããåãåã£ãã¡ãŒã«ç¢ºèªã³ãŒããæ€èšŒãããã°ã€ã³æ å ±ãDPAPIã§æå·åããŠä¿åããã
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only, is open-world, and is non-idempotent. The description adds meaningful behavioral context beyond those hints: it persists login information and encrypts it with DPAPI, which is exactly the type of side effect an agent needs to know about. It does not cover invalid-code behavior or whether retries are safe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with no wasted wording. It front-loads the verification action and then states the persistence side effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter login verification tool with annotations and an output schema, the description covers purpose and persistence adequately. However, it omits flow prerequisites such as whether start_email_login must be called first, and it says nothing about invalid or expired code handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the single required parameter, so the description must compensate. It clarifies that 'code' is an email confirmation code received from the user, but does not specify format, length, expiration, or case sensitivity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (verify) and resource (email login code), and also states the post-verification side effect of saving login information. It does not explicitly distinguish itself from the sibling start_email_login, so sibling differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies this is the next step after receiving an email confirmation code, but it never states when to use this tool versus start_email_login or other login-related siblings. There are no prerequisites or exclusion conditions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_videoBIdempotent
æçš¿ãèªã¿æ»ããŠIDã»éä¿¡è ã»æçš¿å ã»æå·å圢åŒã»ä¿åå ãç §åããããŒã«ã«èšé²ãæŽæ°ããã
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true; the description usefully adds that it reads remote data back and then writes to local records, explaining the read-write hybrid. It does not say what happens on a verification mismatch or whether a failure leaves local state untouched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler; the verification fields and the local update are packed in without waste. Slightly dense at the expense of readability but structurally sound.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, an idempotent mutating verification tool should clarify the job_id semantics and the outcome of a failed check; those gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter job_id has 0% schema description coverage and the description never mentions it, so the agent must guess what identifier it refers to (a prepared video job? a sent post?). It cannot compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation: read back the post, reconcile ID/sender/destination/encryption format/storage location, then update local records. The verb+resource is clear enough to act on, though it doesn't distinguish itself from siblings like get_status or prepare_video.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when this tool should be chosen over alternatives such as get_status or prepare_video, nor any preconditions (e.g., the job must already be sent). Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
17 tool updates
v0.2.0- First observed
cancel_scheduled_post - First observed
check_key_transfer - First observed
claim_key_transfer - First observed
get_profile - First observed
get_status - First observed
list_collections - First observed
list_posts - First observed
list_scheduled_posts - First observed
prepare_video - First observed
prepare_video_batch - First observed
schedule_videos - First observed
search_posts_by_date - First observed
send_prepared_video - First observed
send_prepared_videos - First observed
start_email_login - First observed
verify_email_login - First observed
verify_video
TDQS
Scored across 17 tools
Most tools target clearly different steps of the posting lifecycle (login, key transfer, prepare, send, schedule, list), but the pair send_prepared_video vs send_prepared_videos differs only by plurality and will be easy to misselect, and prepare_video vs prepare_video_batch overlap for a single item. list_posts vs search_posts_by_date and get_status vs get_profile are distinguishable only by careful reading of the descriptions.
All names follow a snake_case verb_noun pattern (get_profile, list_collections, prepare_video, schedule_videos, cancel_scheduled_post), which is highly predictable. Minor deviations: prepare_video_batch uses a trailing qualifier rather than a batch_ prefix, and the singular/plural send pair makes the naming itself a source of confusion.
17 tools across several legitimate sub-areas (email login, key transfer, profile/status, collections, prepare, send, schedule, history) so each roughly earns its place. It is on the heavy side, and a handful of tools (single vs batch prepare, single vs multi send) exist only to save round trips rather than to cover new capability.
The core lifecycle is well covered: authenticate, transfer an existing key, list destinations, prepare (single or batch), send, schedule, cancel, verify, and read history/scheduled state. Gaps are minor: no way to discard or inspect an unspent prepared job, no post deletion or edit, and no key revocation/logout despite key transfer being supported.
Maintenance
Related MCP Connectors
Publish and schedule videos to TikTok, YouTube Shorts, Instagram, Facebook, LinkedIn, Pinterest, Bluesky, Threads and X from Claude, Cursor or any MCP client. Upload once, post everywhere, track views in unified analytics, and retry failed posts. Official platform APIs only, free plan available. Docs: https://docs.multi-upload-tool.com/mcp
Transcode, host and caption video from a prompt. Fifteen tools, nine read-only, nothing deletes.
- UniPostOAuthai.unipost
Hosted MCP server for AI agents to post to LinkedIn profiles and X and upload to YouTube.
The YouTube autopilot: plan, write and schedule YouTube videos, and upload from your machine.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables local video inspection and offline transcription with timestamped JSON and Markdown output, enforced filesystem boundaries, and reproducible content-addressed caching.2MIT
- AlicenseAqualityAmaintenanceEnables multi-account posting, replying, threading, deletes and image/GIF/video uploads through the official X API v2, plus likes, reposts, bookmarks, follows, timelines, search, DMs, Lists and trends. It runs locally over stdio so OAuth tokens and refresh stay on the user's own machine.2419 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible clients to control a local video editor through authenticated stdio commands for clips, effects, text, subtitles, camera, graphics, keyframes, audio, and export.MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to manage multiple named YouTube accounts through one local stdio server, covering video upload and scheduling, metadata, captions, playlists, comments, live broadcasts and chat, channel branding, and analytics reporting via the official Google APIs. It also offers optional FFmpeg-based local media tools for probing, muxing audio, normalizing loudness, trimming, burning subtitles, and extracting thumbnails.MIT