ferraus mcp serve

Run an MCP server exposing every command as a tool

Synopsis

ferraus mcp serve [options]

What it does

Starts a Model Context Protocol server. On stdio (the default) it is what Claude Code and other agents launch as a subprocess; with --http it serves the streamable-HTTP transport for several clients. Every read and write is confined to the --allow directories (default: the current directory) and outputs default to a ferraus-out/ folder under the first allowed directory.

Examples

Register ferraus with Claude Code

claude mcp add ferraus -- ferraus mcp serve --allow ~/music

Serve several clients over HTTP

ferraus mcp serve --http 127.0.0.1:8765 --allow ~/music

Stdio server that may read and write two folders; outputs go to ~/music/ferraus-out/

ferraus mcp serve --allow ~/music --allow ~/podcasts

Options

FlagTypeDefaultMeaning
--httptext—Serve streamable HTTP on this address (e.g. 127.0.0.1:8765) instead of stdio
--allowpath—Directory the server may read and write (repeatable); default: current directory Repeatable.

Global options

Every command also accepts the global options (-o, --json, --dry-run, --overwrite, --progress, ...). See Global options.

Exit codes

CodeMeaning
0Success
1Processing failed
2Usage or parameter error
3Input missing or unreadable
8Cancelled
70Internal error (bug)

Common mistakes

  • Expecting human-readable text when scripting: add --json for a stable machine result.

For models

  • MCP tool: ferraus_mcp_serve
  • Schema: ferraus schema mcp serve
  • Pipeline: { op: mcp serve, args: { ... } } (flag names with _ instead of -)
  • fx stage: no
{"command": "mcp serve", "defaults": {}}