Marvin MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Marvin MCPlist entries in the blog collection"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Marvin MCP
Official Model Context Protocol server for Marvin CMS.
marvin-mcp is the LLM-facing adapter for Marvin. It talks directly to @inneropen/marvin-sdk; it does not shell out to marvin-cli and it does not recreate Marvin API behavior.
MCP Client
↓ stdio
marvin-mcp
↓
@inneropen/marvin-sdk
↓ HTTPS
Marvin APIProject Relationship
marvin-cli ──┐
├──> marvin-sdk ──> Marvin API
marvin-mcp ──┘marvin-cli is for humans and shells. marvin-mcp is for MCP-compatible AI clients. marvin-sdk remains the canonical programmatic Marvin client.
Related MCP server: Directus MCP Server
Installation
After publication:
npx -y @inneropen/marvin-mcpFor local development:
npm install
npm run devConfiguration
Required:
MARVIN_API_URL
MARVIN_SITE_CLIENT_TOKEN
MARVIN_WORKSPACE_SLUGOptional:
MARVIN_MCP_LOG_LEVEL=silent|error|warn|info|debug
MARVIN_MCP_READ_ONLY=true|falseDefault: MARVIN_MCP_READ_ONLY is true. Current SDK-backed mutation tools are not implemented, so write tools are absent either way in this first release.
Logs go to stderr. Tokens are never printed intentionally and are redacted from structured logs/errors.
Tools
Self-description:
Tool | Purpose |
| Describe Marvin MCP capabilities and SDK capability support |
Read tools:
Tool | Purpose |
| Get workspace info and site settings |
| List entries with |
| Get one entry by slug |
| List collections |
| Get one collection by slug |
| Get entries in a collection |
| List asset metadata |
| List reusable resources |
| Get one resource by slug |
No destructive or generic API proxy tools are exposed.
Resources
URI | Purpose |
| Capability and SDK inventory |
| Workspace info |
| Public site settings |
| Entry types inferred from listed entries |
| Collection summaries |
| Resource summaries |
| Entry details |
| Collection details |
| Resource details |
Prompts
Prompt | Purpose |
| Inspect structure and recommend non-destructive improvements |
| Guide drafting a page without automatic publishing |
| Draft a release/update content item |
| Audit entries, collections, resources, and site settings |
| Review collection organization |
| Review asset metadata quality |
| Review reusable resources |
Capabilities
Marvin MCP is organized by Marvin capability under src/capabilities/*. Each capability owns its tools, resources, and prompts.
Capability | MCP Surface |
Workspace |
|
Entries |
|
Entry Types |
|
Collections | collection tools, |
Assets |
|
Resources | resource tools, |
Capability |
|
The SDK capability inventory and architecture review are documented in docs/CAPABILITY_INVENTORY.md.
Client Examples
Generic stdio MCP client:
{
"mcpServers": {
"marvin": {
"command": "npx",
"args": ["-y", "@inneropen/marvin-mcp"],
"env": {
"MARVIN_API_URL": "https://marvin.example.com",
"MARVIN_SITE_CLIENT_TOKEN": "${MARVIN_SITE_CLIENT_TOKEN}",
"MARVIN_WORKSPACE_SLUG": "example-workspace",
"MARVIN_MCP_READ_ONLY": "true"
}
}
}
}Claude Code and other clients use the same command/env shape, though exact config file locations differ by client.
Development
npm run dev
npm run build
npm run typecheck
npm run lint
npm testMCP Inspector:
npm run inspectIntegration tests are opt-in and read-only:
MARVIN_MCP_INTEGRATION_TESTS=true npm testThey also require MARVIN_API_URL, MARVIN_SITE_CLIENT_TOKEN, and MARVIN_WORKSPACE_SLUG.
Capability Matrix
Capability | SDK support | Authentication | MCP mapping | Read/write | Implemented | Limitations |
Workspace info/site settings |
| Site token | Tool and resources | Read | Yes | API credentials enforce access |
List/get entries | Publishing | Site token | Tools and | Read | Yes | SDK source does not send |
Collections | Publishing | Site token | Tools and resources | Read | Yes | Missing collections return |
Assets | Publishing | Site token |
| Read | Yes | Metadata only; no binary payloads |
Resources | Publishing | Site token | Tools and resources | Read | Yes | Resource entries method exists but is not a first-release tool |
Entry types | Platform SDK has | Platform user auth |
| Read | Partial | Inferred from entries in first release |
Platform entries/assets/forms/etc. |
| User token/session | Future editor capabilities | Read/write | No | Requires auth, permission-aware registration, and mutation safety design |
Administration | Platform admin/user/workspace/API client/webhook/task modules | User token/session | Future admin capabilities | Read/write | No | High-impact/destructive and secret-adjacent operations are intentionally excluded |
SDK Capability Gaps
Current @inneropen/marvin-sdk 2.0.0-next.17 publishing client is read-focused. The installed declarations expose no create, update, add-to-collection, or publish entry methods, so this MCP server does not implement write tools and does not bypass the SDK with direct fetch() calls.
This prerelease returns null for missing entries and collections. The MCP server translates those results into structured not-found errors.
The SDK does not expose permission metadata for permission-aware discovery. First release behavior relies on MARVIN_MCP_READ_ONLY and Marvin API authorization failures.
Security
Security decisions:
Read-only mode defaults to
true.No arbitrary HTTP request, shell, SQL, migration, plugin, or secret-management tools.
No generic
marvin_api_request.Inputs are validated with Zod.
Outputs are normalized into JSON-safe structures.
Asset storage internals and tokens are not exposed.
Prompts never instruct automatic publishing.
Final authorization is enforced by Marvin API credentials.
Planned Streamable HTTP
The first transport is stdio. Server creation, capability registration, and transport connection are separated so Streamable HTTP can be added later without rewriting the tool/resource/prompt layer.
Available Tools
1 toolmarvin_describe_capabilitiesDescribe Marvin capabilitiesA
Explain the Marvin capabilities exposed by this MCP server and summarize the SDK capability inventory.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It indicates the tool explains and summarizes, but does not disclose output format, comprehensiveness, or any side effects. For a read-only informational tool, this is adequate but could be more specific.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no unnecessary words. It is front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and a simple informational purpose, the description is largely complete. It could mention that the output is a text summary, but overall it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and the schema coverage is 100% (trivially). The description adds no parameter information, but according to guidelines, baseline is 4 for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Explain', 'summarize') and clearly identifies the resource ('Marvin capabilities', 'SDK capability inventory'). It is distinct from sibling tools which are specific get/list operations for individual resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for obtaining an overview of capabilities, but does not explicitly state when to use it over siblings or provide any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
9 tool updates
v1.1.0- Removed
marvin_get_collection - Removed
marvin_get_collection_entries - Removed
marvin_get_entry - Removed
marvin_get_resource - Removed
marvin_get_workspace - Removed
marvin_list_assets - Removed
marvin_list_collections - Removed
marvin_list_entries - Removed
marvin_list_resources
10 tool updates
v0.1.0- First observed
marvin_describe_capabilities - First observed
marvin_get_collection - First observed
marvin_get_collection_entries - First observed
marvin_get_entry - First observed
marvin_get_resource - First observed
marvin_get_workspace - First observed
marvin_list_assets - First observed
marvin_list_collections - First observed
marvin_list_entries - First observed
marvin_list_resources
TDQS
With only one tool, there is no possibility of confusion between tools. The single tool has a clear, distinct purpose.
The sole tool name 'marvin_describe_capabilities' follows a clear verb_noun pattern in snake_case, so there is no inconsistency.
The server has only one tool, which is borderline for typical MCP servers. It could be acceptable if the server's sole purpose is introspection, but it feels thin for a general-purpose server.
The server only provides a single tool that describes capabilities, with no tools to actually perform any actions. This is severely incomplete for a functional MCP server.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceThis server implements the Model Context Protocol to facilitate meaningful interaction and understanding development between humans and AI through structured tools and progressive interaction patterns.57-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that allows AI tools to connect to and interact with your Directus API, enabling automated access to collections, items, and user data.2227MIT

Contentfulofficial
AlicenseNot gradedqualityAmaintenanceA Model Context Protocol (MCP) server that provides AI assistants with comprehensive tools to interact with Contentful APIs.13960MIT- AlicenseAqualityCmaintenanceThe official Model Context Protocol server for Skema CMS, enabling AI clients to interact with and manage CMS data. It provides tools for reading, creating, updating, and searching collections and items through natural language.1116MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/InnerOpen/marvin-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server