Skip to content

Commit 121977d

Browse files
authored
Merge pull request #10 from fullbleed-engine/docs/mcp-compatibility
Clarify MCP client setup and the 2.5.1 upgrade
2 parents 2e5d74a + 94cd77b commit 121977d

2 files changed

Lines changed: 58 additions & 6 deletions

File tree

‎docs/guides/ai-agents.md‎

Lines changed: 57 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,72 @@ The [versionless Skill](https://github.com/fullbleed-engine/fullbleed-official/b
2323

2424
## Connect through MCP
2525

26-
The optional stdio adapter is separately distributed:
26+
The optional stdio adapter runs locally and uses the same engine as the CLI.
27+
Use **Fullbleed 2.5.1 or newer**: that release corrects the tool schemas rejected
28+
by strict MCP clients in 2.5.0. Install in your
29+
[virtual environment](../getting-started/installation.md#use-a-virtual-environment):
2730

2831
```bash
29-
python -m pip install fullbleed-mcp
30-
fullbleed-mcp --root .
32+
python -m pip install --upgrade "fullbleed>=2.5.1,<3" fullbleed-mcp
33+
python -m fullbleed --version
34+
python -c "import sys; print(sys.executable)"
3135
```
3236

33-
Use the absolute workspace path when configuring your MCP client. See the [adapter README](https://github.com/fullbleed-engine/fullbleed-official/tree/master/packages/fullbleed-mcp) for client setup and tool definitions. The core also includes `python -m fullbleed mcp --root .`.
37+
In your client's **stdio server** settings, use the Python executable printed
38+
above as the command. Set its argument list to:
39+
40+
```json
41+
["-m", "fullbleed_mcp", "--root", "/absolute/path/to/documents"]
42+
```
43+
44+
Replace the final argument with an existing document workspace. A Windows path
45+
can use forward slashes, such as `C:/work/documents`. The client launches this
46+
process; no server port, API key, or separate web service is required. Document
47+
paths passed to tools are confined to this workspace.
48+
49+
If your client launches the core package directly, use arguments
50+
`["-m", "fullbleed", "mcp", "--root", "/absolute/path/to/documents"]` instead.
51+
Both entrypoints share the runtime implementation.
52+
53+
### Check the connection
54+
55+
After restarting the client, ask it to list the Fullbleed tools and call
56+
`fullbleed_capabilities`. The installed engine reports its version and supported
57+
capabilities. Use `fullbleed_agent_contract` for detailed tool schemas before
58+
constructing requests.
59+
60+
| Task | Tool |
61+
| --- | --- |
62+
| Discover the installed engine | `fullbleed_capabilities` |
63+
| Read argument and result schemas | `fullbleed_agent_contract` |
64+
| Render a PDF and page images | `fullbleed_render_preview` |
65+
| Inspect the generated PDF | `fullbleed_inspect` |
66+
| Check a document against selected diagnostics | `fullbleed_verify` |
67+
68+
The [adapter README](https://github.com/fullbleed-engine/fullbleed-official/tree/master/packages/fullbleed-mcp)
69+
also covers Docker and registry metadata. Its development checks use the official
70+
MCP TypeScript client to exercise tool discovery, structured results, a rendered
71+
PDF, and a tool error.
72+
73+
### Troubleshoot setup
74+
75+
| Symptom | Next step |
76+
| --- | --- |
77+
| Tool discovery rejects `outputSchema.type` | Upgrade the engine to 2.5.1 or newer in the same Python environment used by the client, then restart the client. |
78+
| The client cannot find the command or module | Use the absolute Python executable from the installation environment; check that it can run `-m fullbleed_mcp --help`. |
79+
| A tool rejects an input or output path | Keep the document and its assets inside the configured `--root` workspace. |
80+
| A terminal appears to wait after starting the server | This is a stdio process waiting for protocol messages. Configure your MCP client to launch it. |
3481

3582
## Give the agent a concrete document task
3683

3784
> Use Fullbleed to create an invoice from my JSON. Discover the installed runtime first. Keep assets local, escape input text, render the PDF and PNG previews, inspect every page, and verify that the invoice number, line items, and total appear in the output. Return the PDF and any unresolved diagnostics.
3885
39-
Add the target page size, fonts, expected page count, and output profile when these matter. Use the [complete workflow examples](../examples.md) as runnable starting points.
86+
Add the target page size, fonts, expected page count, and output profile when these matter.
87+
For a stronger visual starting point, give the agent the
88+
[Northstar invoice](../examples.md#styled-invoice) or
89+
[Common Ground report](../examples.md#business-report) source bundle, including
90+
its fonts. Ask it to preserve the design while replacing the fictional content
91+
with your data.
4092

4193
## Evaluate the result
4294

‎docs/index.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,6 @@ Fullbleed uses static HTML/CSS as its layout language. Read the [CSS coverage](c
8787

8888
## Open source, with inspectable evidence
8989

90-
Fullbleed is [MIT licensed](https://github.com/fullbleed-engine/fullbleed-official/blob/master/LICENSE). The [2.5.0 release](https://github.com/fullbleed-engine/fullbleed-official/releases/tag/v2.5.0) includes downloadable wheels and retained engineering evidence. The [performance report](guides/performance.md) describes specific measured workloads and their limits.
90+
Fullbleed is [MIT licensed](https://github.com/fullbleed-engine/fullbleed-official/blob/master/LICENSE). The [2.5.1 release](https://github.com/fullbleed-engine/fullbleed-official/releases/tag/v2.5.1) includes downloadable wheels and retained engineering evidence. The [performance report](guides/performance.md) describes specific measured workloads and their limits.
9191

9292
[Read the Python API](engine/pdf-engine.md) · [Set up a coding agent](guides/ai-agents.md) · [Report an issue](https://github.com/fullbleed-engine/fullbleed-official/issues)

0 commit comments

Comments
 (0)