Skip to main content
Glama

Cosmic MCP Server

License: MIT Cosmic Build Status Tests Coverage npm version npm downloads

A robust, production-ready Model Context Protocol (MCP) server for interacting with the Cosmic headless CMS. This server provides a comprehensive set of tools for creating, reading, updating, and deleting objects, types, and media in your Cosmic bucket.

โœจ Features

  • Comprehensive Toolset: Full CRUD operations for Cosmic objects, object types, and media.

  • Robust Architecture: Built with a clean, three-layer architecture (Server, Services, Repositories).

  • Strongly Typed: Written in TypeScript with strict validation using Zod for all inputs.

  • Production-Ready: Includes centralized logging, rate-limiting, and graceful error handling.

  • Easy to Configure: Simple setup using a .env file for your Cosmic credentials.

  • Extensible: Designed to be easily extended with new tools and services.


Related MCP server: MCP REST API Server

๐Ÿš€ Getting Started

Prerequisites

  • Bun (v1.0 or higher)

  • A Cosmic account and bucket.

1. Installation

Clone the repository and install the dependencies:

git clone https://github.com/patgpt/cosmic-mcp.git cd cosmic-mcp bun install

2. Configuration

Copy the example environment file and fill in your Cosmic bucket credentials. You can find these in your Cosmic dashboard under Bucket > Settings > API Keys.

cp .env.example .env

Your .env file should look like this:

# .env COSMIC_BUCKET_SLUG="your-bucket-slug" COSMIC_READ_KEY="your-read-key" COSMIC_WRITE_KEY="your-write-key" DEBUG="false" # Set to "true" for verbose logging

3. Running the Server

Start the MCP server using the following command:

bun start

The server will connect and be ready to receive requests from any MCP-compatible client.

4. Using with MCP Clients

For VS Code (using Claude Dev extension)

Add this configuration to your VS Code settings or Claude Dev configuration:

{ "mcp": { "servers": { "Cosmic": { "type": "stdio", "command": "npx", "args": ["-y", "cosmic-mcp"], "env": { "COSMIC_BUCKET_SLUG": "your-bucket-slug", "COSMIC_READ_KEY": "your-read-key", "COSMIC_WRITE_KEY": "your-write-key", "DEBUG": "false" } } } } }

For Cursor

Add this configuration to your .cursor/mcp.json file:

{ "mcpServers": { "Cosmic": { "command": "npx", "args": ["-y", "cosmic-mcp"], "env": { "COSMIC_BUCKET_SLUG": "your-bucket-slug", "COSMIC_READ_KEY": "your-read-key", "COSMIC_WRITE_KEY": "your-write-key", "DEBUG": "false" } } } }

Alternative: Local Development

If you're developing locally or prefer to use the local version:

For VS Code:

{ "mcp": { "servers": { "Cosmic": { "type": "stdio", "command": "node", "args": ["path/to/cosmic-mcp/dist/server.js"], "env": { "COSMIC_BUCKET_SLUG": "your-bucket-slug", "COSMIC_READ_KEY": "your-read-key", "COSMIC_WRITE_KEY": "your-write-key", "DEBUG": "true" } } } } }

For Cursor:

{ "mcpServers": { "Cosmic": { "command": "node", "args": ["path/to/cosmic-mcp/dist/server.js"], "env": { "COSMIC_BUCKET_SLUG": "your-bucket-slug", "COSMIC_READ_KEY": "your-read-key", "COSMIC_WRITE_KEY": "your-write-key", "DEBUG": "true" } } } }

Note: Replace your-bucket-slug, your-read-key, and your-write-key with your actual Cosmic bucket credentials. You can find these in your Cosmic dashboard under Bucket > Settings > API Keys.


๐Ÿ› ๏ธ Available Tools

This MCP server exposes the following tools. All tools are designed to be called by an AI agent or other MCP client.

Tool Name

Description

list_objects

List objects, with optional filtering by type, status, and pagination.

get_object

Get a specific object by its ID or by its slug and type.

create_object

Create a new object.

update_object

Update an existing object.

delete_object

Delete an object.

list_object_types

List all available object types in the bucket.

search_objects

Perform a text-based search across objects.

upload_media

Upload a media file.

list_media

List all media files, with pagination.

delete_media

Delete a media file by its ID.

For detailed input schemas for each tool, please refer to the ๐Ÿ“š Documentation or the src/manifest.ts file.


๐Ÿ“š Documentation

Comprehensive documentation is available at https://patgpt.github.io/cosmic-mcp/

The documentation includes:

Local Documentation

You can also run the documentation locally:

# Install dependencies npm install # Start the documentation server npm run docs:dev # Build the documentation npm run docs:build

๐Ÿงช Running Tests

This project is set up with tests to ensure reliability.

# Run all tests bun test

๐Ÿค Contributing

Contributions are welcome! If you have a suggestion or find a bug, please open an issue to discuss it.

Please see our CONTRIBUTING.md for detailed guidelines on how to contribute to this project, including:

  • Development setup and workflow

  • Code style and standards

  • Testing requirements

  • Pull request process

  • Release process

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/patgpt/cosmic-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server