Connection check
auth required
contentrain
Git-native content governance for AI agents — 24 deterministic MCP tools over stdio and HTTP.
Tools
27
GitHub stars
4
Installs / wk
1.2k
Licence
MIT
Transport
streamable-http, stdio
Last checked
27h ago
Tools & capabilities
27 toolsRead from the published package source — this server runs locally, so there is no endpoint to query. Names are taken from the code, not observed at runtime, and descriptions are often absent.
contentrain_apply
from source
Apply normalize operations. Two modes: \ Apply normalize operations. Two modes: \
contentrain_branch_delete
from source
Delete a pending contentrain (cr/*) branch that will not be merged — e.g. a branch left behind by a failed operation, or a superseded draft. Only cr/* branches can be deleted; the… Delete a pending contentrain (cr/*) branch that will not be merged — e.g. a branch left behind by a failed operation, or a superseded draft. Only cr/* branches can be deleted; the contentrain branch is protected. This is destructive: the branch and its unmerged commits are removed.
contentrain_branch_list
from source
List pending contentrain (cr/*) branches with their merge status against the contentrain branch. Use this to discover branch names for contentrain_merge / contentrain_branch_delete… List pending contentrain (cr/*) branches with their merge status against the contentrain branch. Use this to discover branch names for contentrain_merge / contentrain_branch_delete, and to monitor branch-health limits (warning at 50, blocked at 80 unmerged).
contentrain_bulk
from source
Batch operations on content entries. All operations are auto-committed to git. Batch operations on content entries. All operations are auto-committed to git.
contentrain_content_delete
from source
Delete content entries. For dictionaries, use \ Delete content entries. For dictionaries, use \
contentrain_content_list
from source
List content entries (read-only). Returns data from .contentrain/ — do NOT manually create or modify content files. List content entries (read-only). Returns data from .contentrain/ — do NOT manually create or modify content files.
contentrain_content_save
from source
Save content entries. Entry format varies by model kind: DICTIONARY — provide \ Save content entries. Entry format varies by model kind: DICTIONARY — provide \
contentrain_describe
from source
Get full schema of a single model (read-only). Do NOT manually create content files — use contentrain_content_save instead. Get full schema of a single model (read-only). Do NOT manually create content files — use contentrain_content_save instead.
contentrain_describe_format
from source
Describes the Contentrain content file format for any language/platform. Returns a comprehensive specification of the file structure, JSON formats, markdown conventions, meta files… Describes the Contentrain content file format for any language/platform. Returns a comprehensive specification of the file structure, JSON formats, markdown conventions, meta files, and locale strategies.
contentrain_doctor
from source
Project health report (read-only). Returns structured checks: git, node, .contentrain/ structure, model parse, orphan content, branch pressure, SDK freshness. Pass Project health report (read-only). Returns structured checks: git, node, .contentrain/ structure, model parse, orphan content, branch pressure, SDK freshness. Pass
contentrain_init
from source
Initialize .contentrain/ structure. Changes are auto-committed to git — do NOT manually create .contentrain/ files. Initialize .contentrain/ structure. Changes are auto-committed to git — do NOT manually create .contentrain/ files.
contentrain_media_delete
from source
Delete a media asset from the media stack. Content entries referencing its path are NOT rewritten — check references before deleting. Delete a media asset from the media stack. Content entries referencing its path are NOT rewritten — check references before deleting.
contentrain_media_get
from source
Get a single media asset by id, including its storage path, delivery URL, and metadata. Get a single media asset by id, including its storage path, delivery URL, and metadata.
contentrain_media_ingest
from source
Ingest a media asset from a source URL. The provider fetches the URL server-side under its own SSRF/MIME/size policy and stores the asset in the media stack. Returns the stored ass… Ingest a media asset from a source URL. The provider fetches the URL server-side under its own SSRF/MIME/size policy and stores the asset in the media stack. Returns the stored asset with its media/... path.
contentrain_media_list
from source
List media assets from the provider media stack. Returns storage paths (media/...) usable in media/image/file fields via contentrain_content_save, plus delivery URLs when available… List media assets from the provider media stack. Returns storage paths (media/...) usable in media/image/file fields via contentrain_content_save, plus delivery URLs when available. Supports search, tag filter, and cursor pagination.
contentrain_media_update
from source
Update metadata (alt text, tags, filename) of an existing media asset. Does not touch the binary. Update metadata (alt text, tags, filename) of an existing media asset. Does not touch the binary.
contentrain_merge
from source
Merge a review-mode branch into contentrain. Local git operation — no external platform needed. Merges the feature branch into the contentrain branch, advances the base branch via… Merge a review-mode branch into contentrain. Local git operation — no external platform needed. Merges the feature branch into the contentrain branch, advances the base branch via update-ref, selectively syncs .contentrain/ files to the working tree, and prunes the merged branch. Target by exact \
contentrain_model_delete
from source
Delete a model and its content/meta. Changes are auto-committed to git — do NOT manually edit .contentrain/ files. Delete a model and its content/meta. Changes are auto-committed to git — do NOT manually edit .contentrain/ files.
contentrain_model_save
from source
Create or update a model definition. Changes are auto-committed to git — do NOT manually edit .contentrain/ files after calling this tool. Create or update a model definition. Changes are auto-committed to git — do NOT manually edit .contentrain/ files after calling this tool.
contentrain_reconcile
from source
contentrain_scaffold
from source
Template-based project setup. Available templates: ${listTemplates().join( Template-based project setup. Available templates: ${listTemplates().join(
contentrain_scan
from source
Scan project source code for content strings. Three modes: \ Scan project source code for content strings. Three modes: \
contentrain_status
from source
Get full project status (read-only). Returns config, models, context. Do NOT manually edit .contentrain/ based on this output. Get full project status (read-only). Returns config, models, context. Do NOT manually edit .contentrain/ based on this output.
contentrain_submit
from source
Push contentrain/* branches to remote. MCP is push-only — PR creation is handled by the platform. Do NOT manually push or create PRs. Push contentrain/* branches to remote. MCP is push-only — PR creation is handled by the platform. Do NOT manually push or create PRs.
contentrain_validate
from source
contentrain_vocabulary_delete
from source
Remove canonical vocabulary terms by slug. Content already using a term is not touched — the vocabulary only advises. Changes are auto-committed to git. Remove canonical vocabulary terms by slug. Content already using a term is not touched — the vocabulary only advises. Changes are auto-committed to git.
contentrain_vocabulary_save
from source