vs @contentstack/mcp
Both packages are part of Contentstack's MCP direction but solve different jobs.
| Capability | @contentstack/mcp | @timbenniks/contentstack-webmcp |
|---|---|---|
| Transport | stdio / HTTP MCP | document.modelContext |
| Agent location | External MCP client | In browser tab |
| Auth | Delivery token in environment | Proxy server or public token |
| Use case | Dev tools, content ops | Public site, visitor-facing agents |
| Write access | No (CDA read-only) | No (read-only by design) |
| Framework | N/A, server-side | Any; core is vanilla TS |
| Setup | MCP client config | Browser tool registration + proxy |
When to use which
External agent (Claude Desktop, Cursor, CI)
→ @contentstack/mcp
Browser agent on your public website
→ @timbenniks/contentstack-webmcp
Both on the same site (e.g. developers.contentstack.com)
→ webmcp for in-tab agents
→ @contentstack/mcp at /api/mcp for external clientsComplementary, not competing
@contentstack/mcpexposes broad CMA/CDA/Launch/BrandKit tools for authenticated workflows@timbenniks/contentstack-webmcpexposes a small, read-only CDA surface for public site visitors
Use get_site_info to point browser agents at your server MCP endpoint for external tool access.
Tool naming
Built-in webmcp tools use the contentstack_* prefix:
contentstack_search_entriescontentstack_get_entry_by_urlcontentstack_get_entry_by_uidcontentstack_list_content_types
Align custom tools with your app's naming convention.