One pipe
Any MCP client → capture → Dropt/Inbox/ → (optional) automatic distill into a reviewable proposal.
capture ships from 0.3.10. It is a write tool, so the Pro gate applies (a trial counts). Successful calls leave an Audit trail. Re-sending the same payload returns created: false and does not write a second file.
Contract
| Arg | Required | Meaning |
|---|---|---|
content | yes | Markdown / plaintext body (max 65536 characters) |
source | yes | Origin label, e.g. feishu-feed, rss-hn |
title | no | Title; defaults to the first non-empty content line |
sourceUrl | no | Canonical source URL, stored as source_url |
intent | no | capture (inbox) or request (proposal path); inferred when omitted |
Returns { "created": true|false, "cid": "dropt_…", "relativePath": "Dropt/Inbox/…/dropt_….md" }. cid is derived from source + URL + intent + body, so the same fingerprint is idempotent.
Minimal call
Register Mycel MCP in your client (Settings → MCP can do this), then ask the agent to call:
capture({ content: "…", source: "my-source", sourceUrl: "https://example.com" })
Or feed JSON-RPC on stdio with no agent in the middle:
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"capture","arguments":{"content":"a test capture","source":"shell","intent":"capture"}}}' \
| /Applications/Mycel.app/Contents/MacOS/chunfeng mcp
The server reads the current app vault by default. For headless use, set VAULT_PATH.
Worked example: Feishu / Lark feed
Mycel does not embed Feishu. The official handbook’s zero-secret example uses lark-cli to read a folder you shared with a bot, fetch Markdown, then call capture. Credentials stay in the lark-cli Keychain; the script itself holds no secrets.
- Install
@larksuite/cli, create a Feishu app, and runlark-cli auth login. - Create a “Mycel inbox” folder (or wiki node) and share it with that app.
- Loop: list → skip unchanged docs with a cursor → fetch Markdown →
capturewithsource: "feishu-feed".
Idempotency is guaranteed by cid, so reruns are safe. The copy-paste Python skeleton lives in the in-app Help Vault; email silicoville@gmail.com if you need a copy.
Other sources
- RSS: pull new items, set
source: "rss-<name>"andsourceUrlto the article. - Clipboard: poll
pbpaste; pasting the same text twice is fine —cidis idempotent. - Mail: IMAP a labeled folder, convert to Markdown, then
capture; setintent: "request"when the subject looks like a request.
Troubleshooting
| Symptom | What to do |
|---|---|
locked: true / MCP writes require Pro | Write MCP tools are Pro-gated. Open Mycel → Settings → License and start a trial or activate. |
created: false | Not an error. The same fingerprint was already captured; no second file, no second distill. |
| Landed in Inbox, no proposal | Auto-distill is off by default. Enable “process captures automatically”, check the AI provider, or trigger distill from the capture workbench. |
Tool capture missing | Need Mycel ≥ 0.3.10 and the native chunfeng mcp entry. The Node fallback does not expose this tool. |