list_projectsLABSCO SUMMARY
Deletes have no undo.
The tools that matter most in daily use are the boring ones — batch upload a folder, check per-document progress, export finished annotations in the format your parser wants. The one thing to be careful about is stated plainly in the README: delete_project, delete_document, delete_annotations and delete_curation are irreversible in INCEpTION, so verify the IDs before an agent calls them, and prefer a project ZIP export as a backup first.
What it is
A wrapper around INCEpTION's AERO v1 REST API. It exposes corpus management as MCP tools and as a CLI: projects, documents, annotations and curation. Annotation itself stays with human annotators in the INCEpTION interface — this automates everything around it.
What you get
- Project management — list, create, delete, full ZIP export and import, and per-document progress —
list_projects,create_project,delete_project,export_project_zip,import_project_zip,project_status - Document handling including bulk work —
list_documents,upload_document,batch_uploadover a folder with a glob,export_document_source,delete_document - Annotations per user: list, export one document or a whole project, import, delete —
list_annotations,export_annotations,export_all_annotations,import_annotations,delete_annotations - The curation layer separately —
export_curation,delete_curation - 13 export formats, including
ctsv3,xmi,conllu,conll2003,conll2012,textandjsoncas - The same operations as terminal commands —
inception-cli batch-upload --project 1 --folder ./texts --glob "*.txt"— for pipelines with no agent in them
Requirements
Python ≥ 3.10 and a running INCEpTION instance with the AERO v1 REST API enabled; the README notes it is tested with INCEpTION 33+. The API lives at http://<YOUR_HOST>:<YOUR_PORT>/api/aero/v1 and authenticates with HTTP Basic using your INCEpTION credentials, supplied as INCEPTION_URL, INCEPTION_USER and INCEPTION_PASSWORD in the environment or a .env. Install with uv sync or pip install -e . from a clone; the documented client entry runs uv run --directory <YOUR_PATH_TO_INCEPTION_MCP> inception-mcp.
Setup effort
Build from source — git clone https://github.com/RaphFaure/inception-mcp
USE CASES
Loading a corpus into a project
Upload a whole folder in one call instead of adding documents through the interface one at a time.
Checking how far annotation has got
Read per-document progress per user rather than clicking through the monitoring page.
Getting annotations into a parsing script
Export the whole project for one annotator in the format your pipeline reads.
Backing up before a risky change
Export the full project ZIP — schema, documents and annotations — before deleting anything.
Moving a project between instances
Export the ZIP from one instance and import it into another.
18 tools
Listed in project docs. Your client may show a different list.
create_projectdelete_projectexport_project_zipimport_project_zipproject_statuslist_documentsupload_documentbatch_uploadexport_document_sourcedelete_documentlist_annotationsexport_annotationsexport_all_annotationsimport_annotationsdelete_annotationsexport_curationdelete_curationBEFORE YOU INSTALL
What to know first
Tools you get
18 tools named in the project's documentation.
Requires
- Python ≥ 3.10
- INCEPTION_PASSWORD in your environment
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/RaphFaure/inception-mcp
cd inception-mcp
uv syncMCP Clients
Claude Desktop, Claude Code
{
"mcpServers": {
"inception": {
"command": "uv",
"args": [
"run",
"--directory",
"<YOUR_PATH_TO_INCEPTION_MCP>",
"inception-mcp"
],
"env": {
"INCEPTION_URL": "http://localhost:8080",
"INCEPTION_USER": "admin",
"INCEPTION_PASSWORD": "<YOUR_INCEPTION_PASSWORD>"
}
}
}
}