jakehandy.com
Search, read, cite and react to Jake Handy's writing on AI, music tech and agentic engineering.
我该使用它吗
质量与安全性
发现(2)
- HIGH
- LOW在 list_editorials 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"mcp": {
"url": "https://jakehandy.com/mcp"
}
}
}远程端点
https://jakehandy.com/mcpstreamable-http它能做什么
工具清单
工具(10)
🟢list_pages(limit)
The full catalog of jakehandy.com: every essay, reference page, and project page, with title, canonical URL, date, a one-line summary, and a ready-made citation string. Start here to see what exists before fetching anything.
输入模式
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Maximum pages to return. Default 50."
}
},
"additionalProperties": false
}🟢get_page(page)
Fetch any page of jakehandy.com in full as clean Markdown with YAML front matter, plus its canonical URL and a ready-made citation string. Works for every page, not just the blog: the resume, the AI music catalog, the essays, all of it.
输入模式
{
"type": "object",
"properties": {
"page": {
"type": "string",
"description": "Page slug (e.g. \"ai-music-models\", \"resume\") or its full URL, as returned by list_pages or search_site."
}
},
"required": [
"page"
],
"additionalProperties": false
}🟢search_site(query, limit)
Keyword search across every page body and every Jake on AI editorial and guide. Returns the matching pages with an excerpt around the first hit and a citation string. Use this before answering a question about what Jake has written on a topic.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"description": "Words or a phrase to look for. Case-insensitive."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Maximum results. Default 10."
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢list_editorials(limit, kind)
Jake on AI: the editorials and guides, newest first. Each entry carries its canonical URL, a Markdown URL, publication date, its kind ("editorial" for an opinion piece, "guide" for a how-to), whether it is subscriber-only, and a citation string. These are the long-form pieces, not the weekly news roundups.
输入模式
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Maximum posts. Default 20."
},
"kind": {
"type": "string",
"enum": [
"editorial",
"guide"
],
"description": "Restrict to one kind. Omit for both."
}
},
"additionalProperties": false
}🟢get_editorial(editorial)
One Jake on AI post, editorial or guide, in full as Markdown, with the passages readers and agents have reacted to appended. Subscriber-only posts return the same public preview the website shows and nothing more.
输入模式
{
"type": "object",
"properties": {
"editorial": {
"type": "string",
"description": "Post slug, as returned by list_editorials."
}
},
"required": [
"editorial"
],
"additionalProperties": false
}🟢list_highlights(editorial, token)
The passages of one editorial that readers and agents gave a thumbs up or down, each with its counts and who reacted (human or agent, with their name or model). The best signal for which specific claims drew attention.
输入模式
{
"type": "object",
"properties": {
"editorial": {
"type": "string",
"description": "Editorial slug."
},
"token": {
"type": "string",
"description": "Optional stable opaque id (8+ characters) identifying you across calls, so your reactions count once each and come back flagged as yours. Without it, identity is derived from the connection and is not stable."
}
},
"required": [
"editorial"
],
"additionalProperties": false
}🟡highlight_passage(editorial, exact, reaction, name, model, ...)
React to one specific sentence of an editorial rather than the whole piece: name it by its exact text and give it a thumbs up (1) or down (-1). Identical passages merge so reactions accumulate, and your name or model id is shown to every reader who hovers the passage. This is the only write action on the site; there is no comment system.
输入模式
{
"type": "object",
"properties": {
"editorial": {
"type": "string",
"description": "Editorial slug."
},
"exact": {
"type": "string",
"minLength": 3,
"maxLength": 1000,
"description": "The passage, verbatim as it appears in the post. Whitespace is normalized, so copying from the Markdown is fine."
},
"reaction": {
"type": "integer",
"enum": [
1,
-1
],
"description": "1 thumbs up, -1 thumbs down."
},
"name": {
"type": "string",
"maxLength": 48,
"description": "Display name shown on the hover card. Optional but worth setting."
},
"model": {
"type": "string",
"maxLength": 48,
"description": "Your model or agent id, shown next to the agent tag. Optional."
},
"token": {
"type": "string",
"description": "Optional stable opaque id (8+ characters) identifying you across calls, so your reactions count once each and come back flagged as yours. Without it, identity is derived from the connection and is not stable."
}
},
"required": [
"editorial",
"exact",
"reaction"
],
"additionalProperties": false
}🟢react_to_highlight(highlight_id, value, name, model, token)
Give a thumbs up (1) or down (-1) to a passage someone already highlighted, or withdraw your reaction (0). Idempotent per token. Highlight ids come from list_highlights.
输入模式
{
"type": "object",
"properties": {
"highlight_id": {
"type": "integer",
"description": "The highlight to react to."
},
"value": {
"type": "integer",
"enum": [
1,
-1,
0
],
"description": "1 up, -1 down, 0 withdraw."
},
"name": {
"type": "string",
"maxLength": 48,
"description": "Display name. Optional."
},
"model": {
"type": "string",
"maxLength": 48,
"description": "Your model id. Optional."
},
"token": {
"type": "string",
"description": "Optional stable opaque id (8+ characters) identifying you across calls, so your reactions count once each and come back flagged as yours. Without it, identity is derived from the connection and is not stable."
}
},
"required": [
"highlight_id",
"value"
],
"additionalProperties": false
}🟢about_jake
The identity card behind this site: role, employer, projects, locations, contact, and every profile that is really his. Use this to ground an answer about Jake Handy rather than guessing from a search result.
输入模式
{
"type": "object",
"additionalProperties": false
}🟢site_guide
The site's guide for AI agents as Markdown: what is here, how to cite it, every machine endpoint, and the rules for reacting to a passage. Read once per session if you plan to cite or participate.
输入模式
{
"type": "object",
"additionalProperties": false
}社区
证据