MCP 服务器

worklore

io.github.worklore/worklore
开发者工具 知识与文档 安全 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Searches reusable worklore stories, discloses their capability tiers and behavioral risks, and records or publishes reproductions.

check_capability
Disclose what an agent Skill or worklore story CAN DO before you run it: a capability tier T0-T4 bound to a content sha256, with findings that carry file:line evidence, PLUS a separate list of behavioral red flags (prompt-injection / deception / exfiltration-intent / safety-bypass phrasings) for a human to review. This is blast-radius disclosure and triage, never a 'safe' verdict. Pass the raw `text`, or a `url` to fetch and scan (e.g. a worklore story .md).
只读 可访问外部资源
输入模式
{'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'A URL to fetch and scan.'}, 'text': {'type': 'string', 'description': 'The skill/story text to scan.'}}}
输出模式
{'type': 'object', 'required': ['tier', 'sha256'], 'properties': {'tier': {'type': 'string'}, 'sha256': {'type': 'string'}, 'findings': {'type': 'array', 'items': {'type': 'object', 'properties': {'why': {'type': 'string'}, 'line': {'anyOf': [{'type': 'integer'}, {'type': 'null'}]}, 'category': {'type': 'string'}, 'evidence': {'type': 'string'}, 'severity': {'type': 'string'}}}}, 'endpoints': {'type': 'array', 'items': {'type': 'string'}}, 'behavioral': {'type': 'array', 'items': {'type': 'object', 'properties': {'why': {'type': 'string'}, 'line': {'anyOf': [{'type': 'integer'}, {'type': 'null'}]}, 'category': {'type': 'string'}, 'evidence': {'type': 'string'}}}}, 'disclaimer': {'type': 'string'}, 'tier_label': {'type': 'string'}, 'behavioral_note': {'type': 'string'}, 'scanner_version': {'type': 'string'}}}
edit_story
Revise a worklore story the signed-in account PUBLISHED — only its author can edit it. Call get_story first, then show the human a before/after diff of your change and get their EXPLICIT approval before calling this; never edit on your own initiative. Send the COMPLETE revised story as `markdown` (frontmatter + '# title' + narrative + '## Reproduce this'), not a fragment. Keep the frontmatter `date` exactly as it is: it records when the work happened, and a revision never moves it. Say what kind of edit this is: 'rephrase' (same claims, better wording), 'addition' (new detail, nothing was wrong), or 'correction' (something in the story was WRONG — a step, a claim, a result). If anything was wrong, it is a correction: never hide a correction as a rephrase. A correction requires a one-line `note` saying what was wrong, and notifies everyone who reported reproducing the story. `source` optionally credits what prompted the revision (an https URL). The new text REPLACES the old (worklore keeps no copy of earlier text), while a record of this revision — when, what kind, the note — is appended to the story's public history.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['slug', 'markdown'], 'properties': {'kind': {'enum': ['rephrase', 'addition', 'correction'], 'type': 'string', 'default': 'rephrase', 'description': 'rephrase (default) — same claims, reworded; addition — new detail, nothing was wrong; correction — something was wrong (requires `note`, notifies reproducers).'}, 'note': {'type': 'string', 'description': 'One line on what changed (max 500 chars). Required for a correction: what was wrong.'}, 'slug': {'type': 'string', 'description': 'The slug of the story to revise (one the signed-in account wrote).'}, 'source': {'type': 'string', 'description': 'Optional https URL crediting what prompted the revision (a comment, an issue, an article).'}, 'markdown': {'type': 'string', 'description': 'The complete revised story markdown, frontmatter included, with the original `date` unchanged.'}}}
输出模式
{'type': 'object', 'required': ['slug', 'url', 'revision', 'notified'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'notified': {'type': 'integer'}, 'revision': {'type': 'object', 'required': ['at', 'kind'], 'properties': {'at': {'type': 'string'}, 'kind': {'enum': ['rephrase', 'addition', 'correction'], 'type': 'string'}, 'note': {'type': 'string'}, 'source': {'type': 'string'}}, 'additionalProperties': False}, 'visibility': {'type': 'string'}}, 'additionalProperties': False}
get_story
Fetch one worklore story by slug — its full markdown (narrative + the 'Reproduce this' contract your agent would run) WITH its capability disclosure attached (tier + findings), so you see what it can do before applying it. Read the capability first; run check_capability on the live artifacts before executing. After you apply the story to the user's task, call report_reproduction with an honest result to record it.
只读
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'The story slug (from search_stories / a worklore URL).'}}}
输出模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'markdown': {'type': 'string'}, 'capability': {'type': 'object'}, 'visibility': {'type': 'string'}, 'unavailable': {'type': 'string'}, 'visibility_note': {'type': 'string'}, 'after_you_apply_this': {'type': 'string'}}}
publish_story
Publish a NEW worklore story as the signed-in account. worklore stories are PUBLIC and honest, so before you call this you MUST show the human the complete draft — the title, the first-person narrative, and the 'Reproduce this' contract — and get their EXPLICIT approval. Never publish on your own initiative and never invent details. Provide the full story as `markdown` (frontmatter with title/date/tags/type/reproducible, then '# title', the narrative, then '## Reproduce this' with prerequisites/inputs/steps/verify) — call get_story on an existing story first to match the format — OR provide the structured fields title + narrative (+ reproduce, tags, type, stack) and the server assembles it. SANITIZE: no secrets, employer internals, client names, or private URLs. Returns the live URL and capability tier.
可访问外部资源
输入模式
{'type': 'object', 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': '3-6 lowercase kebab tags.'}, 'type': {'enum': ['success', 'fail', 'proposal'], 'type': 'string', 'description': 'success (default), fail, or proposal — a proposal is work the author believes is right but cannot prove yet, published to get evidence or review rather than to claim a result.'}, 'stack': {'type': 'string', 'description': 'Optional: the ecosystem this story is about.'}, 'title': {'type': 'string', 'description': 'Story title (used only if `markdown` is not given).'}, 'markdown': {'type': 'string', 'description': "The complete story markdown (frontmatter + '# title' + narrative + '## Reproduce this' contract). Preferred."}, 'narrative': {'type': 'string', 'description': 'First-person narrative, ~150-400 words, honest (used if no `markdown`).'}, 'reproduce': {'type': 'string', 'description': "The 'Reproduce this' contract body: prerequisites, inputs, ordered steps, verify."}, 'visibility': {'enum': ['public', 'private'], 'type': 'string', 'description': 'public (default) — anyone can read and reproduce it; private — only the author can, and it appears in no feed, search, badge or link. Ask the human which they want if the draft contains anything they may not want public.'}}}
输出模式
{'type': 'object', 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'similar': {'type': 'array'}, 'capability': {'type': 'object'}}}
report_reproduction
Call this right after you apply a worklore story's steps to the user's own task, to record the reproduction (attributed to the signed-in account). Use an honest result: 'worked', 'partial' (you produced the output but it isn't verified yet), or 'failed' — all are useful. One counted report per person per story; repeats are acknowledged, not doubled. Never report a story you did not apply.
可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['slug', 'result'], 'properties': {'note': {'type': 'string', 'description': 'Optional short note (max 500 chars).'}, 'slug': {'type': 'string', 'description': 'The story slug you reproduced.'}, 'result': {'enum': ['worked', 'partial', 'failed'], 'type': 'string', 'description': 'How it honestly went.'}}}
输出模式
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'thanks': {'type': 'string'}, 'counted': {'type': 'boolean'}, 'credited': {'type': 'string'}}}
search_stories
Search worklore stories by keyword across title, summary, tags and stack. Returns matches with their capability tier.
只读
输入模式
{'type': 'object', 'properties': {'query': {'type': 'string', 'description': 'Keywords (space-separated; all must match).'}}}
输出模式
{'type': 'object', 'required': ['stories'], 'properties': {'count': {'type': 'integer'}, 'query': {'type': 'string'}, 'stories': {'type': 'array', 'items': {'type': 'object', 'properties': {'slug': {'type': 'string'}, 'tags': {'anyOf': [{'type': 'array'}, {'type': 'null'}]}, 'tier': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'stack': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'summary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'capability': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'visibility': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}}}, 'about_tiers': {'type': 'string'}}}
suggest_for_project
Given a short description of the current project (stack, what you're building, recent problems), suggest up to 3 worklore stories worth reproducing here, with why each fits and its tier.
只读
输入模式
{'type': 'object', 'required': ['context'], 'properties': {'context': {'type': 'string', 'description': 'Project context: stack, goal, recent TODOs/problems.'}}}
输出模式
{'type': 'object', 'required': ['suggested'], 'properties': {'note': {'type': 'string'}, 'suggested': {'type': 'array', 'items': {'type': 'object', 'properties': {'why': {'type': 'string'}, 'slug': {'type': 'string'}, 'tier': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'stack': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'capability': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}}}, 'about_tiers': {'type': 'string'}}}
已添加
edit_story
2026年10月1日 02:40
已添加
publish_story
2026年9月29日 02:43
已添加
report_reproduction
2026年9月29日 02:43
已添加
suggest_for_project
2026年9月29日 02:43
已添加
search_stories
2026年9月29日 02:43
已添加
get_story
2026年9月29日 02:43
已添加
check_capability
2026年9月29日 02:43