Morfee speaks Model Context Protocol as well. That lets an AI assistant (Claude, or anything else that speaks MCP) search your library and make documents directly, without you writing the API calls.
Where it is
https://morfee.furo.solutions/mcp
One endpoint, JSON-RPC over HTTP POST. Authentication uses the same API key as the rest of the API.
It speaks the stateless revision, 2026-07-28: no handshake, no session, every
request stands on its own. Revisions back to 2024-11-05 still work and are answered on the
revision they asked for, so an existing connection keeps behaving exactly as it did.
Setting it up in Claude Code
claude mcp add --transport http morfee https://morfee.furo.solutions/mcp \ --header "X-Api-Key: mrf_..."
Or by hand, in .mcp.json:
{
"mcpServers": {
"morfee": {
"type": "http",
"url": "https://morfee.furo.solutions/mcp",
"headers": { "X-Api-Key": "mrf_..." }
}
}
}What the assistant can do
| Tool | Needs | What it does |
|---|---|---|
list_templates | read | every template in your library, with its id and what it is about |
get_template | read | one template including the sample JSON, so it knows which fields to fill |
template_fields | read | which fields this template expects, written out flat |
create_document | render | the real work: a template plus data returns a PDF with a download URL |
preview_document | render | renders to HTML instead of PDF, to check before you make paper |
usage | read | your plan, your limits and what has been used this month |
save_template | write | saves a template, new or over an existing one. The previous version is kept |
delete_template | write | moves a template to the bin, where it stays for thirty days |
restore_template | write | takes one back out of the bin |
list_bin | read | what is in the bin, and when it goes |
copy_template | write | a copy with an id of its own, to work on without touching the original |
list_folders | read | every folder, with how many templates sit in each |
create_folder | write | makes a folder |
move_template | write | moves a template into a folder, or out of all of them |
template_versions | read | the earlier versions of one template |
restore_version | write | makes an earlier version the live one. That is itself a new version |
The Needs column is the whole safety story, so it is worth a sentence. A key carries a
scope, and /mcp is one address behind which all sixteen of these sit. It therefore checks the scope per
tool rather than per request: a read key connected to an assistant can list and read and nothing else,
and it is refused on the writers by name.
So an assistant can reshape your library, if you hand it a key that may. What it cannot do, whatever
the key says, is lose anything: delete_template moves a template to the bin and
restore_template takes it back out, every save keeps the previous version, and there is no tool here
that deletes anything for good. Give it a read or render key and the question does not
come up at all.
Trying it yourself
curl -X POST https://morfee.furo.solutions/mcp \
-H "X-Api-Key: mrf_..." \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'