tokei-agent
MCP server for managing Tokei pre-launch and waitlist campaigns, wrapping the Tokei v1 REST API. Enables querying pages, stats, leaderboards, signups, and performing write operations like cloning pages and uploading media through natural language.
README
tokei-agent
Control your Tokei pre-launch and waitlist campaigns from the command line — and from AI agents like Claude Code and OpenClaw. Wraps the Tokei v1 REST API with JSON-only output, zero runtime dependencies.
Install
npm install -g tokei-agent
# or run without installing:
npx tokei-agent --help
Requires Node 22+.
Quick start
-
Create an API key at tokei.io → Dashboard → Settings → API Keys. Pick read-only unless you need to change things; API access requires an active subscription or lifetime plan.
-
Export it — the syntax differs by shell:
export TOKEI_API_KEY=tokei_k_... # bash / zsh
set -x TOKEI_API_KEY tokei_k_... # fish
$env:TOKEI_API_KEY = "tokei_k_..." # PowerShell
- Try it:
tokei-agent me # verify the key, see plan + API usage
tokei-agent pages:list --status active
tokei-agent stats <contestId> # analytics for one page
Every command prints JSON to stdout with a top-level rate_limit object. Exit codes: 0 success, 1 API/network error, 2 usage error (JSON on stderr).
Known issue — exit codes on Node 24 / Windows (fixed in 0.2.3). On 0.2.2 and earlier the CLI could print its correct JSON output and then abort during process exit, corrupting the exit code (
$LASTEXITCODEread-1073740791/0xC0000409on success and failure alike). On an affected version, judge a run by the JSON on stdout, not by the exit status — or upgrade.
Commands
Read (any key):
| Command | Does |
|---|---|
me |
Verify the key; account, plan, API usage |
pages:list |
List pages — --status, --mode, --page, --per-page |
pages:get <contestId> |
One page in full (prizes, reward tiers, public URL) |
stats <contestId> |
Aggregated analytics |
leaderboard <contestId> |
Participants ranked by points |
entries:list <contestId> |
Signups — filter with --email |
surveys:list <contestId> |
Survey responses |
webhooks:list |
List webhook subscriptions |
templates:list |
The platform's named starting points, for pages:clone --template |
Write (needs a read+write key):
| Command | Does |
|---|---|
pages:clone |
Create a page by cloning one you own, a named template, or the starter. 20/day cap |
media:upload <file> |
Upload an image or video, get back a public_url for pages:update. ≤5MB per file (video too) |
pages:update <contestId> |
Update title, description, dates, prizes, reward tiers, appearance, and media |
pages:publish <contestId> |
Take a page live (needs a future end_date) |
pages:unpublish <contestId> |
Back to draft — blocks new signups, but the page still renders publicly |
entries:create <contestId> |
Add a signup |
webhooks:create |
Subscribe an HTTPS endpoint (whsec_ secret shown once — save it!) |
webhooks:delete <webhookId> |
Remove a subscription |
Write commands take simple fields as flags and full/nested bodies via --data '<json>' or --data @file.json (flags win on conflict). Run tokei-agent --help for every flag, or see SKILL.md — the agent-oriented reference bundled in this package, with worked examples and error-handling guidance.
tokei-agent pages:clone --title "Spring Launch Waitlist" --source <promotionId>
tokei-agent pages:update <contestId> --end-date 2026-09-01T00:00:00Z
tokei-agent media:upload ./hero.png
tokei-agent pages:update <contestId> --image-video <public_url from the upload above>
MCP server
The package doubles as a local MCP server (stdio): every command above becomes an MCP tool (pages_list, pages_update, stats, …) for Claude Code, Claude Desktop, and other MCP clients.
claude mcp add tokei --env TOKEI_API_KEY=tokei_k_... -- npx -y tokei-agent mcp
Or in JSON config:
{
"mcpServers": {
"tokei": {
"command": "npx",
"args": ["-y", "tokei-agent", "mcp"],
"env": { "TOKEI_API_KEY": "tokei_k_..." }
}
}
}
Environment
| Variable | Required | Meaning |
|---|---|---|
TOKEI_API_KEY |
Yes | Sent as Authorization: Bearer <key> |
TOKEI_API_URL |
No | Base URL override (default https://tokei.io) |
Agents, human in the loop
Tokei is built so agents draft and humans approve: give monitoring agents a read-only key, reserve read+write keys for agents that genuinely need to change things, and set key expiry. New webhook subscriptions created via the API trigger a security notification to the account owner.
Docs
- API reference: https://tokei.io/docs/api
- OpenAPI spec: https://tokei.io/openapi.json
- Agent skill reference: SKILL.md
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.