@Socheli/
БесплатноНе проверенEnables MCP-enabled agents to manage Socheli content: list, inspect, generate renders, dispatch to device fleet, publish across platforms, and curate the dated
Описание
Enables MCP-enabled agents to manage Socheli content: list, inspect, generate renders, dispatch to device fleet, publish across platforms, and curate the dated content plan via natural language.
README
@socheli/mcp
A Model Context Protocol server that gives Claude — and any MCP-enabled agent — your Socheli content engine as tools.
List and inspect content, dispatch renders to your device fleet, check device status, publish across platforms, and read/curate the dated content plan — all from a chat with your agent.
What it is
@socheli/mcp is a Model Context Protocol server that exposes Socheli as agent tools, so Claude (or any MCP client) can inspect content, dispatch renders to the fleet, publish finished posts, and read & curate the dated content plan — by talking to it in natural language.
It is a dependency-free stdio JSON-RPC server built on top of @socheli/sdk, which it uses to talk to the Socheli HTTP API. Every tool call is a typed SDK call under the hood. Authentication is one Socheli API key.
Under the hood it speaks the 2024-11-05 MCP protocol over stdin/stdout using Content-Length-framed JSON-RPC, and advertises a tools capability with serverInfo { name: "socheli", version: "0.1.0" }.
Install
npm i -g @socheli/mcp
# or run on demand, no install:
npx @socheli/mcp
The package ships a socheli-mcp binary. Most users don't run it directly — they point an MCP client at it (see Quickstart).
Authentication
The server is configured with two environment variables — one for the API base URL, one for your API key:
| Env var | Required | Default | Description |
|---|---|---|---|
SOCHELI_API_KEY |
yes | — | Your Socheli API key (e.g. sk_live_xxx). Sent as a bearer token to the Socheli API. |
SOCHELI_API_URL |
no | https://api.socheli.com |
The Socheli API base URL. |
These are passed to createSocheli({ baseUrl: process.env.SOCHELI_API_URL, apiKey: process.env.SOCHELI_API_KEY }). The SDK then authenticates to the API with Authorization: Bearer <SOCHELI_API_KEY> on every request. A wrong key yields 401; a server with no key configured yields 503.
Set these in your MCP client's
envblock (below), not in a shell, so the agent process inherits them.
Quickstart
Add Socheli to your MCP client. For Claude Desktop / Claude Code, drop this into your .mcp.json (or claude_desktop_config.json):
{
"mcpServers": {
"socheli": {
"command": "npx",
"args": ["@socheli/mcp"],
"env": {
"SOCHELI_API_URL": "https://api.socheli.com",
"SOCHELI_API_KEY": "sk_live_xxx"
}
}
}
}
Running from a checkout of the monorepo instead of npm? Use the source entry directly:
{
"mcpServers": {
"socheli": {
"command": "node",
"args": ["--import", "tsx", "packages/mcp/src/index.ts"],
"env": {
"SOCHELI_API_URL": "https://api.socheli.com",
"SOCHELI_API_KEY": "sk_live_xxx"
}
}
}
}
Then just talk to your agent:
- "Use socheli to list the last 5 items and their QA scores."
- "Generate a video about the science of habit on
concept_laband auto-publish it." - "What devices are online right now?"
- "Show me everything planned for next Tuesday and archive anything scoring under 7."
- "Move the Instagram post on the 20th to the 25th at 2:30pm."
Tool reference
Core
| Tool | Description | Arguments |
|---|---|---|
socheli_list_items |
List recent content items (id, status, QA score, title). | limit? (number, default 20), channel? (string) |
socheli_get_item |
Get the full detail of one content item by id — idea, script, storyboard, package, video URL, publish state. | id (string, required) |
socheli_generate |
Dispatch a new render job to the device fleet from an idea/seed. type: "auto" also publishes; type: "new" builds only. |
seed (string, required), channel? (string, default concept_lab), type? ("new" | "auto"), mood? (string), voice? (boolean) |
socheli_jobs |
List recent fleet jobs and their status (dispatched/running/done/error) and which device ran them. | (none) |
socheli_fleet_status |
Show connected render devices and how many are online/idle/busy. | (none) |
socheli_publish |
Publish a finished item to every configured platform (YouTube / Instagram / TikTok + bundle). Set public to go public. |
id (string, required), public? (boolean) |
Calendar & plan (plan_*)
The full plan_* CRUD is exposed too, so an agent can read and curate the dated content plan exactly the way the dashboard's day dialog does — open a day, open an event, edit / move / archive / delete. Posts live as PlannedPost records.
| Tool | Kind | Description | Arguments |
|---|---|---|---|
plan_list |
read | List planned posts (newest plan-run first). | channel?, status?, includeArchived? (default false) |
plan_get |
read | One full post by id. | id |
plan_day |
read | Every post for one date, sorted by time — the day-view data. | date, includeArchived? |
plan_create |
mutate | Hand-add a post. | channel, date, time?, platform, topic, angle?, format?, mood?, hook?, rationale?, algoLever?, status? |
plan_update |
mutate | Edit fields on a post. | id, patch (any of date/time/status/platform/mood/topic/angle/format/hook/rationale/algoLever) |
plan_move |
mutate | Reschedule a post (drag-and-drop equivalent). | id, date, time? |
plan_archive |
mutate | Soft-hide a post (status → archived; reversible). |
id |
plan_delete |
mutate | Permanently delete a post (not reversible). | id |
plan_strategy |
read | The saved strategy brief for a channel (channel brief + subject playbook + per-cluster cadence). | channel |
plan_run |
long | Run the algo planner for a channel and append a dated plan. Returns a started job. | channel, days? (default 14), platforms?, time? |
All mutations return the affected post. plan_archive is reversible (plan_update the status back to idea); plan_delete is not.
The PlannedPost
type PlannedPost = {
id: string;
date: string; // YYYY-MM-DD
time: string; // HH:MM
channel: string; // brand / channel id
platform: "youtube" | "instagram" | "tiktok" | "x" | "linkedin" | "telegram";
topic: string;
angle: string;
format: string; // short | explainer | …
mood?: string;
hook?: string;
rationale: string;
algoLever?: string; // which algorithm lever this idea exploits
scores?: Record<string, number>;
overall?: number;
status: "idea" | "approved" | "scheduled" | "generated" | "dropped" | "archived";
planRunId: string;
createdAt: string;
updatedAt?: string;
};
How it works
The server implements the MCP JSON-RPC methods below over a Content-Length-framed stdio transport:
| Method | Behavior |
|---|---|
initialize |
Returns protocolVersion (echoes the client's, default 2024-11-05), capabilities: { tools: {} }, and serverInfo: { name: "socheli", version: "0.1.0" }. |
notifications/initialized |
Acknowledged (no-op). |
tools/list |
Returns every tool's name, description, and inputSchema. |
tools/call |
Looks up the named tool, runs it via the SDK, and returns the result as { content: [{ type: "text", text }] }. Unknown tools return JSON-RPC error -32601. |
Each tool's run maps directly to an @socheli/sdk call — e.g. socheli_list_items → socheli.items.list(...), socheli_generate → socheli.generate(...), socheli_publish → socheli.items.publish(...). Tool errors are returned to the agent as text content with isError: true rather than as transport errors, so the model can read and react to them.
The Socheli surfaces
Socheli is built API-first. This MCP server is one of four public client surfaces, all speaking to the same control plane:
| Surface | Package | Repo |
|---|---|---|
| HTTP API | @socheli/api |
Socheli/api |
| SDK | @socheli/sdk |
Socheli/sdk |
| CLI | @socheli/cli |
Socheli/cli |
| MCP | @socheli/mcp |
Socheli/mcp — you are here |
Full documentation lives at docs.socheli.com.
Developed in the Socheli monorepo
@socheli/mcp is developed inside the Socheli monorepo (as packages/mcp) alongside the API, SDK, CLI, and engine, and mirrored to this repo for publishing. Issues and PRs are welcome here.
License
MIT — see LICENSE.
Установка @Socheli/
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/Socheli/mcpFAQ
@Socheli/ MCP бесплатный?
Да, @Socheli/ MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для @Socheli/?
Нет, @Socheli/ работает без API-ключей и переменных окружения.
@Socheli/ — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить @Socheli/ в Claude Desktop, Claude Code или Cursor?
Открой @Socheli/ на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare @Socheli/ with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
