{"type":"mcp_server","name":"contentful-mcp","description":"This repository provides an MCP server that integrates with Contentful's Content Management API, offering comprehensive content management features like CRUD operations, space management, and bulk operations. This repository provides an","category":"Developer Tools","language":"TypeScript","stars":61,"forks":2,"owner":"ivo-toby","github_url":"https://github.com/ivo-toby/contentful-mcp","homepage":null,"setup":"## Setup\n\n### Prerequisites\n\n1. Create a Contentful account at [Contentful](https://www.contentful.com/)\n2. Generate a Content Management API token from your account settings\n\n### Environment Variables\n\nThese variables can also be set as arguments\n\n- `CONTENTFUL_HOST` / `--host`: Contentful Management API Endpoint (defaults to https://api.contentful.com)\n- `CONTENTFUL_MANAGEMENT_ACCESS_TOKEN` / `--management-token`: Your Content Management API token\n\n### Space and Environment Scoping (EXPERIMENTAL)\n\nYou can scope the spaceId and EnvironmentId to ensure the LLM will only do operations on the defined space/env ID's.\nThis is mainly to support agents that are to operate within specific spaces. If both `SPACE_ID` and `ENVIRONMENT_ID` env-vars are set\nthe tools will not report needing these values and the handlers will use the environment vars to do CMA operations.\nYou will also loose access to the tools in the space-handler, since these tools are across spaces.\nYou can also add the `SPACE_ID` and `ENVIRONMENT_ID` by using arguments `--space-id` and `--environment-id`\n\n#### Using App Identity\n\nInstead of providing a Management token you can also leverage [App Identity](https://www.contentful.com/developers/docs/extensibility/app-framework/app-identity/)\nfor handling authentication. You would have to setup and install a Contentful App and set the following parameters when calling the MCP-server:\n\n- `--app-id` = the app Id which is providing the Apptoken\n- `--private-key` = the private key you created in the user-interface with your app, tied to `app_id`\n- `--space-id` = the spaceId in which the app is installed\n- `--environment-id` = the environmentId (within the space) in which the app is installed.\n\nWith these values the MCP server will request a temporary AppToken to do content operation in the defined space/environment-id. This especially useful when using this MCP server in backend systems that act as MCP-client (like chat-agents)\n\n### Usage with Claude Desktop\n\nYou do not need to clone this repo to use this MCP, you can simply add it to\nyour `claude_desktop_config.json`:\n\nAdd or edit `~/Library/Application Support/Claude/claude_desktop_config.json`\nand add the following lines:\n\n```json\n{\n  \"mcpServers\": {\n    \"contentful\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ivotoby/contentful-management-mcp-server\"],\n      \"env\": {\n        \"CONTENTFUL_MANAGEMENT_ACCESS_TOKEN\": \"<Your CMA token>\"\n      }\n    }\n  }\n}\n```\n\nIf your MCPClient does not support setting environment variables you can also set the management token using an argument like this:\n\n```\n{\n  \"mcpServers\": {\n    \"contentful\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ivotoby/contentful-management-mcp-server\",'--management-token', \"<your token>\", '--host', 'http://api.contentful.com'],\n    }\n  }\n}\n\n```\n\n### Installing via Smithery\n\nTo install Contentful Management Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@ivotoby/contentful-management-mcp-server):\n\n```bash\nnpx -y @smithery/cli install @ivotoby/contentful-management-mcp-server --client claude\n```\n\n### Developing and using Claude desktop\n\nIf you want to contribute and test what Claude does with your contributions;\n\n- run `npm run dev`, this will start the watcher that rebuilds the MCP server on every change\n- update `claude_desktop_config.json` to reference the project directly, ie;\n\n```\n{\n  \"mcpServers\": {\n    \"contentful\": {\n      \"command\": \"node\",\n      \"args\": [\"/Users/ivo/workspace/contentful-mcp/bin/mcp-server.js\"],\n      \"env\": {\n        \"CONTENTFUL_MANAGEMENT_ACCESS_TOKEN\": \"<Your CMA Token>\"\n      }\n    }\n  }\n}\n```\n\nThis will allow you to test any modification in the MCP server with Claude directly, however; if you add new tools/resources you will need to restart Claude Desktop","tools":"## Available Tools\n\n1.  Content Management (Full CRUD operations for entries and assets)\n2.  Space Management (Create, update, and manage spaces and environments)\n3.  Content Types (Manage content type definitions)\n4.  Localization (Support for multiple locales)\n5.  Publishing (Control content publishing workflow)\n6.  Bulk Operations (Execute bulk publishing, unpublishing, and validation across multiple entries and assets)\n7.  Smart Pagination (List operations return maximum 3 items per request to prevent context window overflow, with built-in pagination support)\n8.  Entry Management (Search, create, retrieve, update, delete, publish, and unpublish entries)\n9.  Bulk Operations (Publish, unpublish, and validate multiple entries and assets)\n10. Asset Management (List, upload, retrieve, update, delete, publish, and unpublish assets)\n11. Space & Environment Management (List, get, create, and delete spaces and environments)\n12. Content Type Management (List, get, create, update, delete, and publish content types)\n13. MCP Inspector (Inspect and debug MCP tools with a visual interface)","faq":null,"created_at":"2024-12-04T18:27:09+00:00","updated_at":"2025-03-28T15:15:03+00:00","source_url":"https://model-context-protocol.com/servers/contentful-management-api-model-context-protocol","related_articles":[]}