{"name":"io.github.useotterkit/otterkit","slug":"useotterkit-otterkit","title":null,"description":"Tunnels and webhooks for AI agents: capture, await, verify, replay, and send signed test events.","url":"https://mcp.market/server/useotterkit-otterkit","rating":null,"grade":"A","score":86,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":22,"stars":0,"forks":0,"downloads_week":72,"last_push_at":"2026-08-13T09:12:19.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/useotterkit/skill","website":"https://www.otterkit.com","version":"0.12.2","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"otterkit","version":"0.12.2","runtimeHint":"npx","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"}]}],"tools":[{"name":"account_status","description":"Show the logged-in OtterKit account and prepaid credit balance (1 credit = $0.01 = 1 tunnel hour).","write_action":false,"price_micros":0,"input_schema":null},{"name":"event_send","description":"Fire a correctly-signed synthetic webhook event (Stripe, GitHub, Shopify, Slack) at a local handler — develop and test a webhook handler with NO provider account, dashboard, or real event needed. Pass the signing secret and the handler will pass its signature verification. Omit event/target and pass list=true to see available events. Fully local, no credits.","write_action":true,"price_micros":0,"input_schema":null},{"name":"request_await","description":"Block until a request matching the filters arrives on a capture log, then return it. The perfect assertion step: trigger an event, await its arrival, inspect the payload. Only matches NEW requests from the moment of the call. The session keeps running afterwards.","write_action":false,"price_micros":0,"input_schema":null},{"name":"request_replay","description":"Re-send a captured request to a local target (no tunnel round-trip, no credits). Optionally override method/path/headers/body or edit individual JSON body fields via set (e.g. [\"data.amount=999\"]). The exchange is appended to the capture log.","write_action":false,"price_micros":0,"input_schema":null},{"name":"request_verify","description":"Check whether captured requests carry a valid provider signature for the given secret — answers \"is my signature-verification code wrong, or is the payload wrong?\". Returns per-request valid/invalid with the reason. Fully local; the secret never leaves the machine.","write_action":false,"price_micros":0,"input_schema":null},{"name":"requests_list","description":"Read requests captured on a webhook or tunnel(capture=true) session, newest last. Bodies are decoded when printable. Filters combine.","write_action":false,"price_micros":0,"input_schema":null},{"name":"session_stop","description":"Stop a running tunnel/webhook daemon. The capture log is kept on disk so requests_list and request_replay still work afterwards.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sessions_list","description":"List running OtterKit tunnel/webhook daemons on this machine.","write_action":false,"price_micros":0,"input_schema":null},{"name":"try_claim","description":"Continue a session started on the otterkit.com/try page: same public URL, converted to a normal metered webhook session on this account. Captures from the page are imported into the local log. The claim code comes from the /try page (\"subdomain:secret\"). Note: this registers the session for capture but a live connection requires `otterkit webhook --claim` in a terminal; prefer webhook_create unles","write_action":false,"price_micros":0,"input_schema":null},{"name":"tunnel_create","description":"Expose a local port on a public URL (https://<subdomain>.otterkit.app). Runs as a background daemon. Costs 1 credit per connected hour (max 10/day). Set capture=true to also log every request for requests_list/request_await/request_replay.","write_action":true,"price_micros":0,"input_schema":null},{"name":"webhook_create","description":"Provision a public webhook capture endpoint (https://<subdomain>.otterkit.app). Runs as a background daemon; every request is captured to a local log readable with requests_list/request_await. Costs 1 credit per connected hour (max 10/day). Returns the public URL.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":86,"grade":"A","scanned_at":"2026-09-25T17:23:03.293Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-25T17:23:03.220Z","components":{"code":{"score":25,"max":25,"notes":["39 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":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":12,"max":15,"notes":["last push 43 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"otterkit","version":"0.12.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":5,"publishedAt":"2026-07-21T06:57:22.147Z","repositoryUrl":"git+https://github.com/useotterkit/skill.git","weeklyDownloads":72}],"repo":{"found":true,"owner":"useotterkit","repo":"skill","archived":false,"pushedAt":"2026-08-13T09:12:19Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/270838825?v=4","ownerCreatedAt":"2026-03-25T03:58:02Z"},"icon":{"url":"https://www.otterkit.com/favicon-512x512.png?v=3","source":"site","width":512,"height":512},"presence":{"stars":0,"forks":0,"downloadsWeek":72,"license":"MIT","lastPushAt":"2026-08-13T09:12:19.000Z","score":22}}}},"grade_history":[],"reviews":[]}