@elvenvtt/mcp-account
v0.7.2
Published
MCP stdio server exposing Elven creator account management to AI agents (Claude Code, Cursor, etc.).
Maintainers
Readme
@elvenvtt/mcp-account
MCP server exposing Elven creator account management to AI agents (Claude Code, Cursor, Claude Desktop, hosted Claude, and anything else that speaks the Model Context Protocol).
The agent-facing companion to @elvenvtt/cli. Same auth, same verbs, different surface: tools instead of commands.
Full docs: docs.elvenvtt.com/docs/agent-platform/mcp-setup
Two transports — pick the one that fits your agent host:
Transport 1: stdio (Claude Code / Cursor / Claude Desktop)
For local agents that can spawn subprocesses.
npm install -g @elvenvtt/mcp-accountAdd to your agent's MCP config (e.g. .mcp.json in your project root, or Claude Desktop's claude_desktop_config.json):
{
"mcpServers": {
"elven-account": {
"command": "elven-mcp-account"
}
}
}Transport 2: HTTP (cloud agents, web Claude, hosted Cursor, CI)
For agents that can't spawn subprocesses. Streamable HTTP, JSON-RPC over POST. No install needed — point your MCP client at the hosted endpoint.
{
"mcpServers": {
"elven-account": {
"type": "http",
"url": "https://mcp.elvenvtt.com/mcp",
"headers": { "Authorization": "Bearer el_pat_..." }
}
}
}Every request is stateless and re-verifies the token — no sessions, no cookies. The HTTP transport intentionally omits publish.companion (it reads .elven.json from a local project dir, which doesn't exist over HTTP); use the stdio transport or elven publish from a terminal when you need that flow.
Auth (stdio transport)
You must have either:
- Logged in via the CLI first —
npx @elvenvtt/cli login. The stdio server reads the cached session from your OS keyring (or~/.elven/credentialson Unix). - OR set
ELVEN_TOKENto a PAT (el_pat_…) — best for CI / headless / cloud-hosted agents:
{
"mcpServers": {
"elven-account": {
"command": "elven-mcp-account",
"env": { "ELVEN_TOKEN": "el_pat_..." }
}
}
}Auth (HTTP transport)
Pass a PAT via the Authorization header per the config above. JWTs also work but PATs are recommended for non-interactive agents.
Get a token
- In the Elven Studio Developer page under the CLI Tokens tab, or
- From the CLI:
elven tokens create --label "claude-code".
Tools
24 tools total. Descriptions in the actual tool registration include usage hints for the agent (when to prefer one tool over another, which ones are destructive).
Identity
| Tool | Purpose |
|---|---|
| whoami | Identify the authed account. Call FIRST to confirm identity. |
Listings
| Tool | Purpose |
|---|---|
| listing.list | Browse public listings. |
| listing.mine | Your own listings including drafts. |
| listing.show | Full detail for one listing id. |
| listing.create | Create a new listing (raw — usually prefer publish.companion). |
| listing.update | Patch listing fields. |
| listing.delete | DESTRUCTIVE — permanent. |
Publish
| Tool | Purpose |
|---|---|
| publish.companion | Build + upload + sync — the "one command from edit to live" flow. |
| publish.uploadFile | LOW-LEVEL single-file upload. |
Posts
| Tool | Purpose |
|---|---|
| post.new | Create a post (draft by default; publishing fires a follower fanout). |
| post.list | List a user's posts (yours includes drafts). |
| post.show | Full content of one post. |
| post.update | Patch fields. |
| post.delete | DESTRUCTIVE. |
Drops
| Tool | Purpose |
|---|---|
| drop.create | Create a time-windowed drop. |
| drop.list | List a user's drops. |
| drop.show | Drop + your claim/eligibility state. |
| drop.update | Patch fields. |
| drop.delete | DESTRUCTIVE. |
Followers
| Tool | Purpose |
|---|---|
| followers.count | Public follower count for any user. |
| followers.following | Who the authed user follows. |
Analytics
| Tool | Purpose |
|---|---|
| analytics.overview | Followers + subscribers + drops + recent activity (one round-trip). |
| analytics.sales | Sales totals, top listings, recent purchases. |
Tokens
| Tool | Purpose |
|---|---|
| tokens.list | List your PATs (no plaintext). Create/revoke are intentionally NOT exposed via MCP — those go through the CLI or Studio. |
Design
- Pure-function handlers
(input, ctx) → output. Adding an HTTP transport later is wrapping these. - Token priority:
ELVEN_TOKENenv > CLI cached creds > clear error to stderr + exit 1. - Same backend as the CLI — all calls go through
@elvenvtt/api. If something works inelven, it works here. - Destructive tools are flagged in their descriptions — agents are expected to confirm with the user before calling them.
Security
The Authorization header is the credential. Treat it like a password — ELVEN_TOKEN env var instead of inline in MCP config, gitignore your .mcp.json if you ever inline the literal value, audit + revoke unused tokens from Studio Developer → CLI Tokens. Full guidance at docs.elvenvtt.com/docs/agent-platform/security.
License
MIT.
