{"name":"io.github.gilesdawe/tokei-agent","slug":"gilesdawe-tokei-agent","title":null,"description":"Control your Tokei (tokei.io) pre-launch and waitlist campaigns from AI agents and the command line.","url":"https://mcp.market/server/gilesdawe-tokei-agent","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":24,"stars":0,"forks":0,"downloads_week":54,"last_push_at":"2026-09-04T20:16:03.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/gilesdawe/tokei-agent","website":null,"version":"0.3.6","remotes":[],"packages":[{"registryType":"npm","identifier":"tokei-agent","version":"0.3.6","transport":{"type":"stdio"},"environmentVariables":[{"description":"Tokei API key (starts tokei_k_). Create one at tokei.io -> Dashboard -> Settings -> API Keys. Read-only keys cover every read command; write access is opt-in.","isRequired":true,"isSecret":true,"name":"TOKEI_API_KEY"},{"description":"Override the API base URL. Defaults to https://tokei.io; rarely needed.","name":"TOKEI_API_URL"}]}],"tools":[{"name":"actions_catalog","description":"List every entry-action type entry actions can use: label, description, default points, platform, and whether it's trust-based / API-verifiable / manually verifiable. Same catalog for every key — not scoped to your account. Optional type argument returns just that one action type's entry; a value matching no known type is a 400.","write_action":false,"price_micros":0,"input_schema":null},{"name":"entries_create","description":"Add an entry (signup) to a page. Duplicate email for the page returns 409 — the person is already signed up. Needs a read+write key.","write_action":true,"price_micros":0,"input_schema":null},{"name":"entries_list","description":"List a page's entries (signups). Filter by exact email with the email argument.","write_action":false,"price_micros":0,"input_schema":null},{"name":"events_catalog","description":"List every webhook event type Tokei's delivery engine understands: description, payload schema, and whether it's currently subscribable. Same catalog for every key — not scoped to your account. Optional type argument returns just that one event type's entry; a value matching no known type is a 400.","write_action":false,"price_micros":0,"input_schema":null},{"name":"leaderboard","description":"Participants of a page ranked by entry points.","write_action":false,"price_micros":0,"input_schema":null},{"name":"me","description":"Verify the API key and return account information: plan, API usage today, active page count.","write_action":false,"price_micros":0,"input_schema":null},{"name":"media_upload","description":"Upload an image or video from local disk (one multipart POST) and return a public_url to feed into pages_update's seven media fields (image_video, secondary_image, third_image, fourth_image, fifth_image, background_image, og_image). Content type is inferred from the file extension (.jpg/.jpeg/.png/.gif/.webp/.mp4/.webm/.mov); override with content_type. Uploads are capped at 5MB — applies to video","write_action":true,"price_micros":0,"input_schema":null},{"name":"pages_clone","description":"Create a page by cloning one you own (source_promotion_id), a named platform template (template — list slugs with templates_list), or the platform starter template (omit both). Sending both source_promotion_id and template is a 422. Template, theme, and entry methods copy verbatim from the source. Capped at 20 API-created pages per account per UTC day (429). Needs a read+write key.","write_action":true,"price_micros":0,"input_schema":null},{"name":"pages_get","description":"Get one page in full: description, prizes, reward_thresholds, dates, public_url.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pages_list","description":"List your pages (API: promotions/contests) with status, entry counts, and public URLs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pages_publish","description":"Publish a page (status -> active), making it live at its public_url. Requires an end_date in the future — either already stored on the page or supplied here — otherwise returns 422 VALIDATION_ERROR. Re-publishing an already-active page is a no-op and skips that check. Needs a read+write key.","write_action":true,"price_micros":0,"input_schema":null},{"name":"pages_unpublish","description":"Unpublish a page (status -> draft): blocks new entries only — existing entries and entrants are untouched, nothing is deleted. IMPORTANT: a draft page still renders publicly at its URL; unpublishing does not hide it from anyone with the link, it only stops new signups. It is not a way to take a page down. Needs a read+write key.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pages_update","description":"Update a page: title, description, start/end dates, prizes, reward tiers, entry methods (the action buttons on the page), appearance, and the seven media slots (image_video, secondary_image, third_image, fourth_image, fifth_image, background_image, og_image — use media_upload to get a public_url first). At least one field; unknown fields are rejected (422). prizes, reward_thresholds and entry_meth","write_action":true,"price_micros":0,"input_schema":null},{"name":"referrals_top","description":"A page's top referrers, ranked by converted referrals, with each one's referral code, name, email and counts — plus totals for referral clicks and conversion rate. Only entrants who have referred at least one person are listed.","write_action":true,"price_micros":0,"input_schema":null},{"name":"stats","description":"Aggregated analytics for a page: signups, entries, referrals, top actions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"surveys_list","description":"List survey responses for a page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"templates_list","description":"List the platform's named starting points: id, slug, name, skin (page layout), and entry_method_count. Same list for every key. Clone one by slug with pages_clone's template argument.","write_action":false,"price_micros":0,"input_schema":null},{"name":"webhooks_create","description":"Subscribe an HTTPS endpoint to events. The response contains the whsec_ signing secret EXACTLY ONCE — store it immediately, it cannot be retrieved again. Deliveries are HMAC-SHA256 signed (X-TOKEI-Signature). Needs a read+write key.","write_action":true,"price_micros":0,"input_schema":null},{"name":"webhooks_delete","description":"Delete a webhook subscription. Its queued and historical delivery records are deleted with it (webhook_deliveries cascades on the subscription), so past delivery attempts are no longer retrievable afterwards. A 404 usually means it was already deleted — safe to treat as success.","write_action":true,"price_micros":0,"input_schema":null},{"name":"webhooks_list","description":"List webhook subscriptions. failure_count is consecutive failed deliveries — auto-disabled at 10.","write_action":false,"price_micros":0,"input_schema":null},{"name":"winners_list","description":"Selection-run history for a page (newest first): each run's id, seed, algorithm version, status, requested_by_email, total_candidates/total_winners_selected, and its persisted winners — each with entrant identity (email, full_name, entry_points, created_at, country_name, city) and prize details (prize_tier, prize_description, prize_value, selected_at, notified_at, notification_method, verified, cl","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-19T20:27:49.220Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:27:49.168Z","components":{"code":{"score":25,"max":25,"notes":["14 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 15 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"tokei-agent","version":"0.3.6","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":0,"publishedAt":"2026-09-04T20:18:39.795Z","repositoryUrl":"git+https://github.com/gilesdawe/tokei-agent.git","weeklyDownloads":54}],"repo":{"found":true,"owner":"gilesdawe","repo":"tokei-agent","archived":false,"pushedAt":"2026-09-04T20:16:03Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/13299911?v=4","ownerCreatedAt":"2015-07-12T13:12:59Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":54,"license":"MIT","lastPushAt":"2026-09-04T20:16:03.000Z","score":24}}}},"grade_history":[],"reviews":[]}