## Register manuscripto in projio: MCP tools, submodule, optional dependency Wi
Register manuscripto in projio: MCP tools, submodule, optional dependency¶
Wire manuscripto into the projio ecosystem as the 6th subsystem.
Prerequisites¶
- manuscripto package is implemented at
packages/manuscripto/(prior tasks). - Read the design spec at
docs/explanation/manuscripto-design-spec.md. - Read how other subsystems are registered:
src/projio/mcp/server.py,src/projio/mcp/biblio.py,src/projio/mcp/pipeio.pyfor the pattern.
Deliverables¶
1. MCP tool registration (src/projio/mcp/manuscripto.py)¶
Create a new MCP module following the biblio/pipeio pattern:
# Tools to expose:
manuscript_init(name, template?) → scaffold new manuscript
manuscript_list() → list manuscripts in project
manuscript_status(name) → sections, figures, completion
manuscript_build(name, format?) → assemble + render
manuscript_validate(name) → citation/figure/section checks
manuscript_assemble(name) → generate assembled markdown
manuscript_figure_insert(name, section, figure_id, position?) → wire figio figure
Each tool should:
- Import from manuscripto package with graceful fallback if not installed
- Use PROJIO_ROOT for root resolution (same as other MCP tools)
- Return structured results (not raw text)
2. Register in MCP server (src/projio/mcp/server.py)¶
- Import and register manuscripto tools following the existing pattern
- Add conditional import (like other optional subsystems)
3. Update projio optional dependency (pyproject.toml)¶
- Add manuscripto to optional dependencies:
manuscripto = {path = "packages/manuscripto", develop = true} - Add to the
[project.optional-dependencies]section alongside biblio, notio, etc.
4. Update CLAUDE.md¶
- Add manuscripto to the Architecture table (6th subsystem)
- Add MCP tool list to the mcp/ section
- Add agent tool routing entries for manuscript operations
5. Update agent_instructions¶
- If there's a codegen or template for agent_instructions, add manuscripto tools to it
- Check
src/projio/mcp/context.pyfor howproject_context()andruntime_conventions()work — manuscripto should appear there
6. Permissions¶
- Add
mcp__projio__manuscript_*to the default.claude/settings.jsonscaffolding (checksrc/projio/init.pyfor where this is generated)
Notes¶
- Do NOT create a datalad subdataset or git submodule — manuscripto lives directly under packages/ for now
- Follow the exact pattern of biblio registration. Read
src/projio/mcp/biblio.pyas the template. - Test by checking imports work:
python -c "from projio.mcp.manuscripto import *"(after editable install)
Related Notes¶
- [[task-arash-20260331-175313-566067.md]] — Design spec that this task explicitly lists as a prerequisite to read before implementation
- [[task-arash-20260331-175356-958039.md]] — Scaffolds the manuscripto package that this task registers into the projio MCP ecosystem
- [[task-arash-20260331-175439-058148.md]] — Implements manuscripto core (assembly, render) that this task exposes via MCP tools
- [[task-arash-20260328-174922-286397.md]] — Same pattern: adding a new MCP tool module for a subsystem (biblio graph expansion)