
Askell
io.github.NeschadinPublished by GitHub account Neschadinv0.5.0Updated Nov 13, 2026
MCP server for the Askell payment and subscription API (Bun + stdio)
Overview
Local MCP server for the Askell payment and subscription API, letting an assistant discover endpoints, inspect customers, contracts and billing, and make API…
- What you can do
- Search and describe bundled OpenAPI v1/v2 operations, including parameters, schemas and error codes
- Call read-only endpoints (GET/HEAD) and follow paginated list endpoints
- Perform writes (POST/PUT/PATCH/DELETE) through a separate mutation tool
- Review customers with subscriptions and contracts, contract billing runs, and billing-run triage
- List configured webhooks with the HMAC secret redacted
- Load OpenAPI specs and webhook event docs as resources, plus bundled guidance skills
- When to use it
- Useful when you work with Askell payments or subscriptions and want an assistant to look up API operations, inspect customer, contract and billing data, or run API calls without leaving the chat client. Keep separate production and sandbox entries if you need both.
- Requirements
- Runs locally over stdio via bunx (Bun 1.4.4 or newer) or a prebuilt binary. Needs an Askell account and the secret API key in ASKELL_PRIVATE_API_KEY; ASKELL_PUBLIC_API_KEY is optional for a few checkout and payment-method endpoints. ASKELL_ENV selects production (default) or sandbox, and keys do not work across hosts. Network access to the Askell API is required.
Installation
In SourceWeft
- Open Askell in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
askell-mcp
MCP server for the Askell payment and subscription API.
Connect it to Cursor, Claude Desktop, or any MCP client to discover Askell endpoints, inspect customers/contracts/billing, and call the API. Reads and writes are separate tools so clients can show their own approval UI on mutations.
Requirements
- An Askell account and secret API key (from the Askell dashboard). The public key is optional — only temporary payment-method and checkout status endpoints use it
- One of:
Quick start
Prefer two server entries if you have both production and sandbox keys. Tool names are the same on both; the client distinguishes them by the server key (askell-prod vs askell-sandbox). Each instance's instructions include the environment it is talking to.
Put keys in gitignored dotenv files, not in JSON. Copy .env.example:
.env— production (ASKELL_ENV=productionand that dashboard's keys).env.sandbox— sandbox (ASKELL_ENV=sandboxand that dashboard's keys)
Bun does not auto-load .env.sandbox. --no-env-file stops the sandbox process from also reading a production .env that happens to sit in the cwd.
Cursor
Project file: .cursor/mcp.json. mcp.json.example is this shape. ${workspaceFolder} is the directory that contains that mcp.json (the repo root when the file is .cursor/mcp.json). In ~/.cursor/mcp.json, use an absolute envFile path.
With Bun:
With a binary (download askell-mcp-<os>-<arch> from Releases, then chmod +x). Same envFile; the binary reads the environment Cursor injects:
Reload the window after saving.
Claude Desktop
Config file:
- Linux:
~/.config/Claude/claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
No envFile field. The desktop process cwd is not your repo, so a relative .env path does not resolve. With Bun, pass an absolute --env-file:
A binary has no --env-file. Put the keys in env (plaintext in that JSON file):
Quit Claude Desktop completely and reopen it. Saving the file is not enough.
Claude Code
Project .mcp.json expands ${VAR} from the environment of the process that launched claude. It does not load a dotenv file. The Bun --env-file args from the Desktop section work here as well; a relative path is fine when you start claude from the repo. ${ASKELL_PRIVATE_API_KEY} inside env only works when that variable is already exported in that environment. A .env file alone is not read.
Configuration
ASKELL_ENV picks a stable host (same v1/v2 surface):
- production —
https://askell.is/api - sandbox —
https://sandbox.askell.is/api(isolated tenant; keys from that dashboard)
Point a second MCP server entry at sandbox (ASKELL_ENV=sandbox) rather than switching env on one process. Keys do not work across hosts. Áskell Test Gateway is a payment acquirer (fake cards) on either host — not the same as the sandbox API. Official prose at docs.askell.is still documents Test Gateway and may omit the sandbox host.
ASKELL_MUTATION_GATE:
auto(default) — confirmation form only if this request's_metaenvelope declared form elicitation (MCP 2026-07-28). 2025-era clients (Cursor, most hosts) do not send that envelope, so the mutation runs and their own “allow this tool” UI is the gate.elicit— always return an elicitation form. The SDK refuses the call if the client cannot fulfil it (2026 envelope / 2025 initialize via the legacy shim).off— never ask (eval / trusted automation).
If both ASKELL_MUTATION_GATE and ASKELL_REQUIRE_MUTATION_APPROVAL are set, ASKELL_MUTATION_GATE wins.
What you can do
Tools
hmac_secret is the only field redacted in tool output. Customer-portal sign-in URLs and widget tokens (POST /v2/customer-portal-entries/, POST /v2/customer-portal-sessions/) are returned in full so the browser can use them. Do not put the widget token in a URL.
Resources
Skills (SEP-2640)
Clients supporting MCP Skills (skills/list, skills/get) can load bundled guidance on demand:
Docs: docs.askell.is · OpenAPI: v1 · v2
License
Contributing
See CONTRIBUTING.md for local development, tests, and releases.
Source: README.md at commit dffe611
Tools
0Version history
11- v0.5.0LatestNov 13, 2026
- v0.4.27Nov 3, 2026
- v0.4.26Oct 29, 2026
- v0.4.25Oct 26, 2026
- v0.4.24Oct 16, 2026
- v0.4.23Oct 9, 2026
- v0.4.21Oct 5, 2026
- v0.4.20Oct 2, 2026
- v0.4.19Oct 1, 2026
- v0.4.18Sep 30, 2026
- v0.4.17Sep 25, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts