Skip to content
v1.1.2MIT

Build, inspect, backtest, and document Spera trading strategies with portable Agent Skills and MCP tools.

Spera Agent Plugin

Build, backtest, and document algorithmic trading strategies from your coding agent. Spera packages its production MCP server and eight portable Agent Skills as an Agent Plugin, with compatibility adapters for Claude Code, Cursor, and ChatGPT/Codex. The same skills and the same MCP server back every client, so a workflow you learn in one carries over to the next.

Install

Claude Code

/plugin marketplace add praveenmanikandan/spera-cursor-plugin
/plugin install spera@spera

If the install summary says Run /reload-plugins to activate., run that. Then authenticate:

/mcp

Select spera, choose Authenticate, and approve the scopes on Spera's consent screen. Verify with /spera:spera-foundations or by asking Claude to call spera_context_get — a complete grant reports contract 1.0, 10 scopes, and 42 tools.

Skills are namespaced by the plugin, so they invoke as /spera:spera-build-strategy, /spera:spera-run-backtest, and so on. The names match the Cursor and Codex packages deliberately: a workflow you know in one client is the same workflow here.

Cursor

Install Spera from Cursor Directory, or copy or link this repository into Cursor's local plugin directory:

~/.cursor/plugins/local/spera

Restart Cursor or run Developer: Reload Window, then open Customize and confirm Spera's skills and MCP server are listed. Until you sign in, the spera server reports that it needs authentication: choose Authenticate, approve the scopes on Spera's consent screen, then restart Cursor so the new grant attaches. If the server shows Error with no Authenticate option, run node scripts/doctor.mjs from this repository and check the sign-in trigger line.

ChatGPT / Codex

The repository root contains .codex-plugin/plugin.json, the Codex .app.json mapping to Spera's registered OpenAI app, the eight portable skills, and transparent 512×512 PNG marketplace assets. Point a local Codex marketplace entry at this repository, install spera from it, and start a new task.

Other Agent Plugins clients

plugin.json and mcp.json at the repository root are vendor-neutral Agent Plugins 1.0.0 manifests. Install through whatever workflow your client supports; clients own their installation UI and OAuth token storage.

What you get

Eight skills that teach the agent the correct order of operations, the recovery paths, and the stopping rules — not just the tool schemas:

SkillWhat it does
spera-foundationsConnect, inspect authorized projects, resume durable workflows, enforce revision/receipt rules
spera-build-strategyCreate, edit, fork, repair, and compile strategy graphs
spera-build-moduleBuild reusable graph modules and publish their ports
spera-build-custom-nodeAuthor, compile, and repair Rust/Wasm custom nodes
spera-run-backtestQuick and durable deep backtests against an exact revision
spera-update-project-knowledgeRevision-safe project Markdown, with protected STRATEGY.md proposals
spera-write-documentationReceipt-grounded artifact documentation
spera-deliver-strategyCompose the above into a documented, backtested handoff

A complete authoring grant exposes 42 MCP tools.

Context cost: roughly 865 tokens of always-on context across the eight skills; each skill costs more only when it actually fires. Claude Code shows this in the plugin details view before you install.

Scopes it requests

spera:context:read, spera:artifact:read, spera:artifact:write, spera:backtest:run, spera:backtest:read, spera:backtest:cancel, spera:knowledge:read, spera:knowledge:write, spera:documentation:read, spera:documentation:write.

Approve only what the consent screen shows. Adding scopes later requires you to reauthorize.

What it deliberately cannot do

There is no tool at any scope that can:

  • create, start, stop, pause, or deploy a paper or live trading bot
  • operate Fleet
  • read or use exchange API credentials
  • place, modify, or cancel a real order

Bots are started by a person in the Spera app. A compile receipt proves a strategy is structurally valid; a backtest receipt is historical evidence for one exact revision under one exact configuration. Neither is a performance promise, and neither authorizes deployment.

Connection

The plugin connects to https://api.spera.bot/mcp?mode=authoring over Streamable HTTP. The ?mode=authoring suffix is what makes the server request the ten authoring scopes; the equivalent X-Spera-MCP-Mode: authoring header is sent alongside for clients that forward custom headers, but many connector interfaces drop them, and a grant obtained against the bare URL is read-only.

The header also decides how a tokenless initialize is answered. A request that carries it — every native plugin config in this repository — gets 401 with the OAuth challenge, which is what makes Cursor offer Authenticate. A request by URL alone (ChatGPT connectors, tool scanners) gets anonymous discovery instead. Keep the header in every mcp.json. This repository contains no access token, client secret, or exchange credential — OAuth is run by your client and the resulting authorization is stored by your client.

Trust and updates

Claude Code shows a trust warning when you add any third-party marketplace: Anthropic does not verify third-party plugins. This repository is the full source of what gets installed — the manifests, the MCP endpoint, and all eight skill files are readable above.

Third-party marketplaces have auto-update off by default. To pick up new versions, either enable auto-update for the spera marketplace in /plugin → Marketplaces, or refresh manually:

/plugin marketplace update spera

Repository layout

  • plugin.json, mcp.json — vendor-neutral Agent Plugins 1.0.0 manifests
  • skills/ — the eight portable Agent Skills, shared by every client
  • .claude-plugin/ — Claude Code manifest, MCP server file, and single-plugin marketplace
  • .cursor-plugin/plugin.json — Cursor listing metadata
  • .codex-plugin/plugin.json, .app.json — Codex packaging and registered app mapping
  • commands/, scripts/doctor.mjs — /spera-connect, /spera-doctor, and the connection doctor

The portable manifests, the Claude adapter, the skills, the commands, and the doctor are generated from one canonical profile in the Spera repository, so the clients cannot drift apart. The Cursor and Codex manifests, .app.json, and this README are maintained here and checked against the generated files by npm test.

Repository checks

Node.js 20 or newer, no third-party dependencies:

npm test
npm run test:live
npm run validate:submission
node scripts/doctor.mjs

npm test validates every manifest, the MCP profiles, the portable skills, documentation, secret hygiene, and the Codex PNG dimensions and transparency. test:live exercises the public MCP OAuth discovery chain. validate:submission additionally requires an approved open-source license. scripts/doctor.mjs probes the live server without a token: anonymous discovery, the sign-in trigger, the scope challenge, and OAuth discovery.

Claude Code users can also run its own validator against a clone:

claude plugin validate .

Data handling, privacy, and support

Never include access tokens, exchange credentials, or private keys in prompts, issues, or support requests.