Project knowledge orchestrator and MCP server for research repositories
Project description
projio
Project knowledge orchestrator and MCP server for research repositories.
Generates project scaffolding (.projio/ workspace, Makefile, mkdocs.yml, and optional kind-specific starters), builds project websites, and exposes a FastMCP server (stdio) that gives Claude unified access to indexio, biblio, notio, and codio tools.
Install
pip install projio
# or editable with all ecosystem packages:
make dev
Quick start
# Scaffold .projio/ workspace
projio init .
# Scaffold a thin package/tool project
projio init . --kind tool
# Scaffold a thin study project
projio init . --kind study
# Generated Makefile shortcuts
make projio-status
make projio-auth
# Scaffold ~/.config/projio/config.yml
projio config init-user
# Show merged user + project config
projio config -C . show
# Show status
projio status -C .
# Start MCP server (stdio)
projio mcp -C .
# Site operations
projio site build
projio site serve
# Project helpers
projio sibling github
projio sibling gitlab
projio sibling ria
projio docs mkdocs-init
projio auth doctor
For MkDocs projects, projio can also mount the indexio chatbot.
Set site.chatbot.enabled: true in .projio/config.yml; projio site serve will auto-start a local indexio backend and inject the widget into the served site.
Helper config
Project-local defaults live in .projio/config.yml under helpers:.
Optional user defaults live in ~/.config/projio/config.yml and are merged first, with project config taking precedence.
For GitHub and GitLab, DataLad/Git config remains the source of truth for site, access, and stored credentials; projio only fills project-local conventions and previews the resulting commands.
Helper commands are preview-first. Pass --yes to execute the generated datalad command.
MCP tools exposed
| Tool | Description |
|---|---|
rag_query |
Semantic search against the project index |
rag_query_multi |
Multi-query search, deduplicated |
corpus_list |
List indexed corpora with chunk counts |
citekey_resolve |
Resolve BibTeX citekeys (requires biblio) |
paper_context |
Full paper context with docling excerpt (requires biblio) |
paper_absent_refs |
Unresolved GROBID refs (requires biblio) |
library_get |
Library ledger status/tags (requires biblio) |
note_list |
List recent notes (requires notio) |
note_latest |
Most recent note content (requires notio) |
note_read |
Read a specific note by path (requires notio) |
note_create |
Create a new note from template (requires notio) |
note_update |
Update note frontmatter fields (requires notio) |
note_types |
List configured note types (requires notio) |
note_search |
Semantic search over notes (requires notio) |
codio_list |
Filtered library listing (requires codio) |
codio_get |
Full library record (requires codio) |
codio_registry |
Full registry snapshot (requires codio) |
codio_vocab |
Controlled vocabulary for registry fields (requires codio) |
codio_validate |
Registry consistency check (requires codio) |
codio_discover |
Capability search across libraries (requires codio) |
codio_add_urls |
Add libraries from GitHub/GitLab URLs (requires codio) |
biblio_ingest |
Ingest papers by DOI via OpenAlex (requires biblio) |
biblio_library_set |
Bulk-update library ledger entries (requires biblio) |
project_context |
Project config + README snapshot |
runtime_conventions |
Parsed Makefile vars and commands |
site_detect |
Detect doc framework (mkdocs, sphinx, vite) |
site_serve |
Start doc server in background |
site_stop |
Stop a running doc server |
site_list |
List running doc servers |
Claude Desktop / MCP config
{
"mcpServers": {
"projio": {
"command": "/path/to/python",
"args": ["-m", "projio.mcp.server"],
"env": { "PROJIO_ROOT": "/path/to/your/project" }
}
}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file projio-0.1.1.tar.gz.
File metadata
- Download URL: projio-0.1.1.tar.gz
- Upload date:
- Size: 40.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
481551fd624a3a16f1933acb3f97f719a9368073352eb2322543ba1e2d1b240a
|
|
| MD5 |
e17b9af5745ea73c4a4c3a4b9f551c11
|
|
| BLAKE2b-256 |
99123218ee13ec3cdd261b580d5978794908e14c0a622a8a67c65f459118d5a4
|
File details
Details for the file projio-0.1.1-py3-none-any.whl.
File metadata
- Download URL: projio-0.1.1-py3-none-any.whl
- Upload date:
- Size: 39.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e81717b711d80505e75e684f49d051da5cf415abcf6046938194f1a5dcbf65c5
|
|
| MD5 |
8937544517878f796b1f467ebbd8620a
|
|
| BLAKE2b-256 |
d6b0a3740510b319da34edf7e8257fcf8a05296e81b2f3148890b7cccee8a36e
|