This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+8 more
Affected surfaces
Summary
AI summaryUpdates Minor Changes, f5c70eb, and mcp across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Adds new @contentrain/types MediaProvider contract with list/get/ingest/update/delete methods and related types. Adds new @contentrain/types MediaProvider contract with list/get/ingest/update/delete methods and related types. Source: llm_adapter@2026-07-13 Confidence: high |
— |
| Feature | Low |
Introduces five @contentrain/mcp tools: contentrain_media_list, get, ingest, update, delete for media operations. Introduces five @contentrain/mcp tools: contentrain_media_list, get, ingest, update, delete for media operations. Source: llm_adapter@2026-07-13 Confidence: high |
— |
| Feature | Low |
Updates MCP_TOOLS in @contentrain/rules to include the five new media tools, total 24 tools. Updates MCP_TOOLS in @contentrain/rules to include the five new media tools, total 24 tools. Source: llm_adapter@2026-07-13 Confidence: high |
— |
| Feature | Low |
Adds Media Tools section to @contentrain/skills references/mcp-tools.md documenting the new tools. Adds Media Tools section to @contentrain/skills references/mcp-tools.md documenting the new tools. Source: llm_adapter@2026-07-13 Confidence: high |
— |
| Feature | Low |
Extends RepoProvider with optional media?: MediaProvider facet, enabled on hosted providers only. Extends RepoProvider with optional media?: MediaProvider facet, enabled on hosted providers only. Source: llm_adapter@2026-07-13 Confidence: low |
— |
| Feature | Low |
Makes `media` an optional facet on RepoProvider, present only for hosted providers (e.g., Studio MCP Cloud). Makes `media` an optional facet on RepoProvider, present only for hosted providers (e.g., Studio MCP Cloud). Source: granite4.1:30b@2026-07-14-audit Confidence: low |
— |
Full changelog
Minor Changes
-
f5c70eb: feat(mcp): media tools over an optional provider media facet
@contentrain/types: new
MediaProvidercontract (list/get/ingest/update/delete) plusMediaAsset,MediaListOptions,MediaListResult,MediaIngestInput,MediaUpdateInput.RepoProvidergains an optionalmedia?: MediaProviderfacet — implemented by hosted providers (Studio MCP Cloud), absent on Local/GitHub/GitLab.@contentrain/mcp: five new tools —
contentrain_media_list,contentrain_media_get,contentrain_media_ingest,contentrain_media_update,contentrain_media_delete— as a deterministic passthrough to the provider's media facet.- Capability-aware: registered only when
RepoProvider.mediais present (newmediarequirement inTOOL_REQUIREMENTS). Local stdio servers keep listing exactly the 19 core tools; nothing changes for existing embeddings. - URL-based ingest. MCP has no binary channel; the provider fetches the source URL server-side and owns SSRF/MIME/size policy.
contentrain_media_ingestis the only tool withopenWorldHint: true. - Safety:
media_deleteisdestructiveHint: trueand requiresconfirm: true; content references are never rewritten by MCP. - Closes the discovery loop for external agents: list assets → pick a
media/...path → reference it viacontentrain_content_save(absolute delivery URLs viamediaBaseUrl).
@contentrain/rules:
MCP_TOOLSnow lists 24 tools (19 core + 5 media); essential guardrails document the media flow.@contentrain/skills:
references/mcp-tools.mdgains a Media Tools section covering all five tools (parity-tested against the MCP registry). - Capability-aware: registered only when
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Contentrain/ai
Local-first MCP server for AI content governance — 13 tools for model/content CRUD, validation, normalization, and i18n across any framework.
Related context
Earlier breaking changes
- v@contentrain/[email protected] `validateModelDefinition` now returns `{ errors, warnings }` instead of a string array.
- v@contentrain/[email protected] `model_save` rejects models with unknown keys, `min > max`, invalid constraints, and `unique` on singletons.
- v@contentrain/[email protected] `content_save` now validates before committing and rejects invalid content.
- v@contentrain/[email protected] `validateModelDefinition` now returns `{ errors, warnings }` instead of a string array.
- v@contentrain/[email protected] `model_save` rejects models with unknown keys, `min > max`, invalid constraints, and `unique` on singletons.
Beta — feedback welcome: [email protected]