Cosmic is a headless CMS with a hosted MCP server, in-product AI workflows, and agent signup. An agent can read and write content, generate text, images, video, and audio into the media library, chain content, code, and browser steps, or provision a new project with no existing account.
Setup
Choose your client, copy the config, then fill in any required environment variables.
Local
claude mcp add cosmic --env COSMIC_BUCKET_SLUG='<COSMIC_BUCKET_SLUG>' --env COSMIC_READ_KEY='<COSMIC_READ_KEY>' --env COSMIC_WRITE_KEY='<COSMIC_WRITE_KEY>' -- npx -y @cosmicjs/mcp~/.codex/config.toml
[mcp_servers.cosmic]
command = "npx"
args = ["-y", "@cosmicjs/mcp"]
env = { COSMIC_BUCKET_SLUG = "<COSMIC_BUCKET_SLUG>", COSMIC_READ_KEY = "<COSMIC_READ_KEY>", COSMIC_WRITE_KEY = "<COSMIC_WRITE_KEY>" }
# codex mcp add cosmic --env COSMIC_BUCKET_SLUG='<COSMIC_BUCKET_SLUG>' --env COSMIC_READ_KEY='<COSMIC_READ_KEY>' --env COSMIC_WRITE_KEY='<COSMIC_WRITE_KEY>' -- npx -y @cosmicjs/mcp~/.cursor/mcp.json
{
"mcpServers": {
"cosmic": {
"command": "npx",
"args": [
"-y",
"@cosmicjs/mcp"
],
"env": {
"COSMIC_BUCKET_SLUG": "<COSMIC_BUCKET_SLUG>",
"COSMIC_READ_KEY": "<COSMIC_READ_KEY>",
"COSMIC_WRITE_KEY": "<COSMIC_WRITE_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"cosmic": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cosmicjs/mcp"
],
"env": {
"COSMIC_BUCKET_SLUG": "<COSMIC_BUCKET_SLUG>",
"COSMIC_READ_KEY": "<COSMIC_READ_KEY>",
"COSMIC_WRITE_KEY": "<COSMIC_WRITE_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"cosmic": {
"command": "npx",
"args": [
"-y",
"@cosmicjs/mcp"
],
"env": {
"COSMIC_BUCKET_SLUG": "<COSMIC_BUCKET_SLUG>",
"COSMIC_READ_KEY": "<COSMIC_READ_KEY>",
"COSMIC_WRITE_KEY": "<COSMIC_WRITE_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"cosmic": {
"command": "npx",
"args": [
"-y",
"@cosmicjs/mcp"
],
"env": {
"COSMIC_BUCKET_SLUG": "<COSMIC_BUCKET_SLUG>",
"COSMIC_READ_KEY": "<COSMIC_READ_KEY>",
"COSMIC_WRITE_KEY": "<COSMIC_WRITE_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"cosmic": {
"command": "npx",
"args": [
"-y",
"@cosmicjs/mcp"
],
"env": {
"COSMIC_BUCKET_SLUG": "<COSMIC_BUCKET_SLUG>",
"COSMIC_READ_KEY": "<COSMIC_READ_KEY>",
"COSMIC_WRITE_KEY": "<COSMIC_WRITE_KEY>"
}
}
}
}Remote
claude mcp add --transport http cosmic 'https://mcp.cosmicjs.com/v1/buckets/<BUCKET_SLUG>' --header 'Authorization: <AUTHORIZATION>'~/.codex/config.toml
[mcp_servers.cosmic]
url = "https://mcp.cosmicjs.com/v1/buckets/<BUCKET_SLUG>"
http_headers = { Authorization = "<AUTHORIZATION>" }
# codex mcp add cosmic --url 'https://mcp.cosmicjs.com/v1/buckets/<BUCKET_SLUG>'~/.cursor/mcp.json
{
"mcpServers": {
"cosmic": {
"url": "https://mcp.cosmicjs.com/v1/buckets/<BUCKET_SLUG>",
"headers": {
"Authorization": "<AUTHORIZATION>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"cosmic": {
"type": "http",
"url": "https://mcp.cosmicjs.com/v1/buckets/<BUCKET_SLUG>",
"headers": {
"Authorization": "<AUTHORIZATION>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"cosmic": {
"httpUrl": "https://mcp.cosmicjs.com/v1/buckets/<BUCKET_SLUG>",
"headers": {
"Authorization": "<AUTHORIZATION>"
}
}
}
}claude_desktop_config.json · Customize › Connectors › Add custom connector
{
"mcpServers": {
"cosmic": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.cosmicjs.com/v1/buckets/<BUCKET_SLUG>",
"--header",
"Authorization:<AUTHORIZATION>"
]
}
}
}.trae/mcp.json
{
"mcpServers": {
"cosmic": {
"url": "https://mcp.cosmicjs.com/v1/buckets/<BUCKET_SLUG>",
"headers": {
"Authorization": "<AUTHORIZATION>"
}
}
}
}Environment variables
COSMIC_BUCKET_SLUGCOSMIC_READ_KEYCOSMIC_WRITE_KEY
Replace the placeholders with your own credentials and keep them out of version control.