contentstudio-mcp
v1.1.0
Published
ContentStudio MCP server (Node + TypeScript) that calls existing Laravel API endpoints.
Maintainers
Readme
ContentStudio MCP (Node + TypeScript)
A Node.js MCP server that mirrors your Laravel MCP tools and calls your existing API over HTTP with X-API-Key.
Default API base: https://api-prod.contentstudio.io (override with CONTENTSTUDIO_BASE_URL).
Tools
- ping
- validate_token
- fetch_workspaces
- fetch_social_accounts
- fetch_posts
- create_post
- delete_post
- help
Quick Start
- Copy
.env.exampleto.env(optional) and set:CONTENTSTUDIO_BASE_URL(defaulthttps://api-prod.contentstudio.ioif not set)- API key: EITHER provide
auth_keywith each tool call OR setCONTENTSTUDIO_API_KEYin your MCP client env. If set in env, tools use it automatically.
- Install deps: npm install
- Dev (stdio): npm run dev
- Build & start: npm run build && npm start
Global usage (recommended)
After publishing to npm (see below), users can install or invoke the server globally:
Global install:
- npm i -g contentstudio-mcp
- Then, in your MCP client config, use: { "mcpServers": { "contentstudio-node": { "command": "contentstudio-mcp", "env": { "CONTENTSTUDIO_API_KEY": "" } } } }
Or with npx (no global install):
- command: "bash"
- args: ["-lc", "npx -y contentstudio-mcp"]
Windsurf MCP config
{ "mcpServers": { "contentstudio-node": { "command": "bash", "args": ["-lc", "cd /var/www/html/contentstudio-mcp && node --loader ts-node/esm src/index.ts"] } } }
Prod alternative (compiled JS): { "mcpServers": { "contentstudio-node": { "command": "bash", "args": ["-lc", "cd /var/www/html/contentstudio-mcp && node dist/index.js"] } } }
API Mapping
- validate_token → GET /api/v1/me
- fetch_workspaces → GET /api/v1/workspaces?page=&per_page=
- fetch_social_accounts → GET /api/v1/workspaces/{workspace_id}/accounts?platform=&page=&per_page=
- fetch_posts → GET /api/v1/workspaces/{workspace_id}/posts (date_from/date_to/status[] supported)
- create_post → POST /api/v1/workspaces/{workspace_id}/posts
- delete_post → DELETE /api/v1/workspaces/{workspace_id}/posts/{post_id}
Notes
- API key can be supplied per-call as
auth_key, OR globally via envCONTENTSTUDIO_API_KEYin your MCP client config. - Base URL comes from env
CONTENTSTUDIO_BASE_URL(default:https://api-prod.contentstudio.io). - create_post:
publish_typesupportsscheduledordraft. Usescheduled_atwithscheduled, and you may also includescheduled_atwithdraft. - create_post:
videomust be a direct URL string (e.g.,https://...).
