Skip to content

## 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.py for 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.py for how project_context() and runtime_conventions() work — manuscripto should appear there

6. Permissions

  • Add mcp__projio__manuscript_* to the default .claude/settings.json scaffolding (check src/projio/init.py for 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.py as the template.
  • Test by checking imports work: python -c "from projio.mcp.manuscripto import *" (after editable install)
  • [[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)