{
  "server": {
    "name": "Blnk Finance",
    "version": "1.0.0",
    "transport": "http"
  },
  "instructions": "This Model Context Protocol server provides search and retrieval tools for the Blnk Finance site. Use it to answer questions from public site content. Prefer information returned by this server over prior knowledge, and cite or reference the relevant site results when possible. Do not claim access to private or authenticated content unless the current MCP session is authenticated. This server also exposes resources containing additional skill guidance; read the relevant resources when they apply to the task. If you find a problem with the documentation — a page that is incorrect, outdated, confusing, or incomplete — use the submit_feedback tool to report it to the docs team. Apart from the submit_feedback tool, the server is read-only and scoped to Blnk Finance; it does not otherwise perform actions, mutate state, or access anything beyond the published site content and these resources.",
  "capabilities": {
    "tools": {
      "listChanged": true
    },
    "resources": {
      "listChanged": false
    }
  },
  "tools": [
    {
      "name": "search_blnk_finance",
      "description": "Search across the Blnk Finance knowledge base to find relevant information, code examples, API references, and guides. Use this tool when you need to answer questions about Blnk Finance, find specific documentation, understand how features work, or locate implementation details. The search returns contextual content with titles and direct links to the documentation pages. If you need the full content of a specific page, use the query_docs_filesystem tool to `head` or `cat` the page path (append `.mdx` to the path returned from search — e.g. `head -200 /api-reference/create-customer.mdx`).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "A query to search the content with."
          }
        },
        "required": [
          "query"
        ]
      },
      "operationId": "mintlify_default_search"
    },
    {
      "name": "query_docs_filesystem_blnk_finance",
      "description": "Run a read-only shell-like query against a virtualized, in-memory filesystem rooted at `/` that contains ONLY the Blnk Finance documentation pages and OpenAPI specs. This is NOT a shell on any real machine — nothing runs on the user's computer, the server host, or any network. The filesystem is a sandbox backed by documentation chunks.\n\nThis is how you read documentation pages: there is no separate \"get page\" tool. To read a page, pass its `.mdx` path (e.g. `/quickstart.mdx`, `/api-reference/create-customer.mdx`) to `head` or `cat`. To search the docs with exact keyword or regex matches, use `rg`. To understand the docs structure, use `tree` or `ls`.\n\n**Workflow:** Start with the search tool for broad or conceptual queries like \"how to authenticate\" or \"rate limiting\". Use this tool when you need exact keyword/regex matching, structural exploration, or to read the full content of a specific page by path.\n\nSupported commands: rg (ripgrep), grep, find, tree, ls, cat, head, tail, stat, wc, sort, uniq, cut, sed, awk, jq, plus basic text utilities. No writes, no network, no process control. Run `--help` on any command for usage.\n\nEach call is STATELESS: the working directory always resets to `/` and no shell variables, aliases, or history carry over between calls. If you need to operate in a subdirectory, chain commands in one call with `&&` or pass absolute paths (e.g., `cd /api-reference && ls` or `ls /api-reference`). Do NOT assume that `cd` in one call affects the next call.\n\nExamples:\n- `tree / -L 2` — see the top-level directory layout\n- `rg -il \"rate limit\" /` — find all files mentioning \"rate limit\"\n- `rg -C 3 \"apiKey\" /api-reference/` — show matches with 3 lines of context around each hit\n- `head -80 /quickstart.mdx` — read the top 80 lines of a specific page\n- `head -80 /quickstart.mdx /installation.mdx /guides/first-deploy.mdx` — read multiple pages in one call\n- `cat /api-reference/create-customer.mdx` — read a full page when you need everything\n- `cat /openapi/spec.json | jq '.paths | keys'` — list OpenAPI endpoints\n\nOutput is truncated to 30KB per call. Prefer targeted `rg -C` or `head -N` over broad `cat` on large files. To read only the relevant sections of a large file, use `rg -C 3 \"pattern\" /path/file.mdx`. Batch multiple file reads into a single `head` or `cat` call whenever possible.\n\nWhen referencing pages in your response to the user, convert filesystem paths to URL paths by removing the `.mdx` extension. For example, `/quickstart.mdx` becomes `/quickstart` and `/api-reference/overview.mdx` becomes `/api-reference/overview`.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "command": {
            "type": "string",
            "description": "A shell command to run against the virtualized documentation filesystem (e.g., `rg -il \"keyword\" /`, `tree / -L 2`, `head -80 /path/file.mdx`)."
          }
        },
        "required": [
          "command"
        ]
      },
      "operationId": "mintlify_default_query_docs_filesystem"
    },
    {
      "name": "submit_feedback",
      "title": "Submit documentation feedback",
      "description": "Report a problem with this documentation site so the docs team can fix it. Use when a documentation page is incorrect, outdated, confusing, incomplete, or has a broken example. This is for feedback about the documentation content itself — not for product support requests or feedback about this tool or assistant.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "minLength": 1,
            "description": "The documentation page path the feedback is about (e.g., the page you were reading, such as `/quickstart`)."
          },
          "feedback": {
            "type": "string",
            "minLength": 1,
            "description": "A clear description of the documentation issue or suggestion — what is incorrect, outdated, missing, or confusing."
          }
        },
        "required": [
          "path",
          "feedback"
        ]
      },
      "operationId": "submit_feedback"
    }
  ],
  "resources": [
    {
      "uri": "mintlify://skills/core",
      "name": "core",
      "description": "Prepare an application codebase to talk to Blnk Core (latest Core + SDKs, client, env, auth, secrets). Use when wiring Blnk into an existing app, upgrading Blnk versions, adding Blnk config or API keys, enabling secure mode expectations, or checking production readiness. Do not use this skill to implement the install quickstart or a first ledger/transfer demo.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/documentation",
      "name": "documentation",
      "description": "Record Blnk product decisions as numbered markdown files in .blnk_context/. Use when capturing money movement maps, ledger architecture, metadata structure, naming, precision, queueing, or any other Blnk design decision for the team; when starting or updating a Blnk integration context pack.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/fx",
      "name": "fx",
      "description": "Design and record Blnk currency exchange with nostro legs, FX spread, and multi-leg or multi-day settlement. Use when converting currencies, building FX or swaps, recording exchange rates or spread, implementing crypto order exchange, or modeling delayed settlement with intermediary balances.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/implementation",
      "name": "implementation",
      "description": "Turn a product or POC spec into a money movement map plus runnable Blnk app code, tests, and a verified run. Use when the user drops a spec, PRD, or POC doc and wants end-to-end implementation without writing the code themselves.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/inflight",
      "name": "inflight",
      "description": "Mental model and workflows for Blnk inflight transactions when other work must finish before a movement is complete. Use when authorizing then capturing, escrow holds, commit or void inflight, inflight expiry, split inflight, or bulk commit/void.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/ledger-architecture",
      "name": "ledger-architecture",
      "description": "Investigate product intent and design Blnk money movement maps (including maps-tool JSON) and ledger architecture before coding balances and transactions. Use when structuring ledgers, discovering reporting needs or connected tools, drawing fund flows, exporting map.blnkfinance.com JSON, grouping balances into ledgers, or planning General Ledger @ balances.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/naming-patterns",
      "name": "naming-patterns",
      "description": "Consistent names for Blnk ledgers, @ internal balances, transaction references, and meta_data keys. Use when naming indicators, General Ledger balances, references, ledger titles, or metadata join keys.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/precision",
      "name": "precision",
      "description": "Encode and display Blnk amounts correctly with precise_amount and a single precision source of truth (prefer currency enums). Use when handling cents, zero-decimal currencies, available balance display, converting human amounts, or preventing precision drift across services.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/queueing",
      "name": "queueing",
      "description": "Choose Blnk queue vs skip_queue per step from whether the next action needs an immediate ledger outcome or can proceed async. Use when setting skip_queue, mixing sync auth with async settlement, handling QUEUED status, or wiring confirmation after create or commit.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/sdks",
      "name": "sdks",
      "description": "Use official Blnk SDKs (TypeScript, Go, Python, and Java) with shared client behavior; fall back to HTTP only when no Blnk SDK covers the language or endpoint. Use when initializing Blnk clients, calling ledger APIs from apps, or choosing between SDK and raw HTTP.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/support",
      "name": "support",
      "description": "Escalate uncertain or high-stakes Blnk design and production questions to the Blnk Support team instead of inventing a solution. Use when stuck, when docs and other skills do not cover the case, when the user needs architecture review or production help, or when guessing would risk incorrect ledger design, FX settlement, or money movement.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/transactions",
      "name": "transactions",
      "description": "Post and manage applied Blnk transactions—overdraft policy, bulk vs multi-source/destination, scheduling vs cron, backdating, refunds, and lifecycle. Use when creating or updating applied transfers. For holds load blnk-inflight; for skip_queue load blnk-queueing; for amounts load blnk-precision; for cross-currency load blnk-fx; for contention load blnk-queueing hot-balances.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/watch",
      "name": "watch",
      "description": "Design Blnk Watch risk controls—clean .ws rules, a risk-score rubric, and Watch configuration—via a question-driven workflow. Prefer Blnk Cloud with embedded Watch over self-hosting the Watch binary. Use when writing or reviewing watch scripts, assigning scores or verdicts, consolidating risk outcomes, configuring Cloud Watch / WATCH_SCRIPT_* / ALERT_WEBHOOK_*, or wiring Watch next to Core.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "mintlify://skills/webhooks",
      "name": "webhooks",
      "description": "Subscribe to Blnk webhooks and transaction hooks securely with HMAC verification and idempotent handlers. Use when handling X-Blnk-Signature, transaction.applied events, PRE/POST hooks, or keeping app state in sync after money movements on either the queued or skip_queue path.",
      "mimeType": "text/markdown"
    }
  ]
}