{"_id":"@asafinancial/asa-partner-data-mcp-server","_rev":"7-9b7ea58bfd34bf5a5491258cfc4f0890","name":"@asafinancial/asa-partner-data-mcp-server","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.1":{"name":"@asafinancial/asa-partner-data-mcp-server","version":"0.0.1","keywords":["mcp","asa","fintech","open-api","ai-agent"],"author":{"name":"Asa Technologies Inc."},"license":"SEE LICENSE IN LICENSE","_id":"@asafinancial/asa-partner-data-mcp-server@0.0.1","maintainers":[{"name":"asadeveloper","email":"developer@asa.financial"}],"homepage":"https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server#readme","bugs":{"url":"https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server/issues"},"bin":{"asa-partner-data-mcp-server":"dist/index.js"},"dist":{"shasum":"1f9da6558ee8d9bf1e3dc19081581474166eb67b","tarball":"https://registry.npmjs.org/@asafinancial/asa-partner-data-mcp-server/-/asa-partner-data-mcp-server-0.0.1.tgz","fileCount":7,"integrity":"sha512-tj8gRO7BEvS1xqRAIjVp+rWFxvtT7jkHdEjnayuFw7Psl2W/+2+77Oobli1e2iUdNuqo2YYO0bDt/Dgda6hgOg==","signatures":[{"sig":"MEUCIQCQt4Dh5gJgwxv46Ko0eVVUQ+0roPsYoMmURONji5sShQIgS/JArFJ5hWNr+HoK/W019sfaiwMIUCnIhUbnfC0XhdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162521},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"47e9ec4628b1f19a2ef0d4ffaba6eacdc8f84e84","scripts":{"start":"node dist/index.js"},"_npmUser":{"name":"asadeveloper","email":"developer@asa.financial"},"repository":{"url":"git+https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server.git","type":"git"},"_npmVersion":"10.9.4","description":"ASA Partner Data MCP Server - consent-based, key-scoped AI agent access to ASA Open API data (balances, transactions, transfers, subscriptions, net worth)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.0","pino":"^9.5.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asa-partner-data-mcp-server_0.0.1_1784898832580_0.1256162858552703","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@asafinancial/asa-partner-data-mcp-server","version":"0.0.2","keywords":["mcp","asa","fintech","open-api","ai-agent"],"author":{"name":"Asa Technologies Inc."},"license":"SEE LICENSE IN LICENSE","_id":"@asafinancial/asa-partner-data-mcp-server@0.0.2","maintainers":[{"name":"asadeveloper","email":"developer@asa.financial"}],"homepage":"https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server#readme","bugs":{"url":"https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server/issues"},"bin":{"asa-partner-data-mcp-server":"dist/index.js"},"dist":{"shasum":"4014263d579d81d4244273a36cc4624622090eaf","tarball":"https://registry.npmjs.org/@asafinancial/asa-partner-data-mcp-server/-/asa-partner-data-mcp-server-0.0.2.tgz","fileCount":7,"integrity":"sha512-YH/pHO72nL5ZDBx+F0A5ypQ6R89VYyY8WCN+xSnovm+x+A+IsE0d3tSsw/LqeiSHjsVxdVSbx4AI7pjOb+O+cA==","signatures":[{"sig":"MEQCIHKix3/U+byQzoBgvBVrdoc6oWoNO1Gwb2XZATTaTVM8AiAEOtvPnlqIY6hJdTnxn3ltj0Cp5bV/nD54MP6znXpgRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162610},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"1ba82bda5a6670f95103151e95d0e5107b49068b","scripts":{"start":"node dist/index.js"},"_npmUser":{"name":"asadeveloper","email":"developer@asa.financial"},"repository":{"url":"git+https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server.git","type":"git"},"_npmVersion":"10.9.4","description":"ASA Partner Data MCP Server - consent-based, key-scoped AI agent access to ASA Open API data (balances, transactions, transfers, subscriptions, net worth)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.0","pino":"^9.5.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asa-partner-data-mcp-server_0.0.2_1784899773885_0.6851116580493812","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@asafinancial/asa-partner-data-mcp-server","version":"0.0.3","keywords":["mcp","asa","fintech","open-api","ai-agent"],"author":{"name":"Asa Technologies Inc."},"license":"SEE LICENSE IN LICENSE","_id":"@asafinancial/asa-partner-data-mcp-server@0.0.3","maintainers":[{"name":"asadeveloper","email":"developer@asa.financial"}],"homepage":"https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server#readme","bugs":{"url":"https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server/issues"},"bin":{"asa-partner-data-mcp-server":"dist/index.js"},"dist":{"shasum":"5e3a2af6c2e26c406a86badf1c55eb2c4b48f12f","tarball":"https://registry.npmjs.org/@asafinancial/asa-partner-data-mcp-server/-/asa-partner-data-mcp-server-0.0.3.tgz","fileCount":7,"integrity":"sha512-ufn8gdkz5xhQo3gbq/Egd92NoQIGzLhked8SlkUNgsppIHtQbz6DJY5ftvrwkFfbsVmjWSLL7UM0+shLr1zVTg==","signatures":[{"sig":"MEYCIQCa+m33Ebgt02R/BNUPCYr2pLaZ0Oip4h4gXV39EL1o5QIhAKMKiNYI4VbBJBUCVh73Ke3B61l+XfiQN35flYD33WVl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162677},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"6f28ede4607ad590b2ec8c204d7ae2de0cd12196","mcpName":"io.github.asafinancial/asa-partner-data-mcp-server","scripts":{"start":"node dist/index.js"},"_npmUser":{"name":"asadeveloper","email":"developer@asa.financial"},"repository":{"url":"git+https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server.git","type":"git"},"_npmVersion":"10.9.4","description":"ASA Partner Data MCP Server - consent-based, key-scoped AI agent access to ASA Open API data (balances, transactions, transfers, subscriptions, net worth)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.0","pino":"^9.5.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asa-partner-data-mcp-server_0.0.3_1784902109463_0.3426828113596794","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@asafinancial/asa-partner-data-mcp-server","version":"0.0.4","keywords":["mcp","asa","fintech","open-api","ai-agent"],"author":{"name":"Asa Technologies Inc."},"license":"SEE LICENSE IN LICENSE","_id":"@asafinancial/asa-partner-data-mcp-server@0.0.4","maintainers":[{"name":"asadeveloper","email":"developer@asa.financial"}],"homepage":"https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server#readme","bugs":{"url":"https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server/issues"},"bin":{"asa-partner-data-mcp-server":"dist/index.js"},"dist":{"shasum":"58ab3dce0b838c2153309a29c39290313688229f","tarball":"https://registry.npmjs.org/@asafinancial/asa-partner-data-mcp-server/-/asa-partner-data-mcp-server-0.0.4.tgz","fileCount":7,"integrity":"sha512-coKGlEd0AOepQuGG26OY6PIez4zunQhtfYdHNdsMy3558oa1SCuPGLoISFyS6AGC0W8iddLkendIBL5KijsIVg==","signatures":[{"sig":"MEYCIQD4BObOdEaIQL/Yz8ZLMTSusuCM3IWq7JLg/Sms7nsDFgIhANNu9Z2qbZtjLW2efdqZxptDk+/yRgqGBNQLkIEeP9FQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173780},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"d5b5bda95fc8ba713f3c56b74a2b5b922c1380b6","mcpName":"io.github.asafinancial/asa-partner-data-mcp-server","scripts":{"start":"node dist/index.js"},"_npmUser":{"name":"asadeveloper","email":"developer@asa.financial"},"repository":{"url":"git+https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server.git","type":"git"},"_npmVersion":"10.9.4","description":"ASA Partner Data MCP Server - consent-based, key-scoped AI agent access to ASA Open API data (balances, transactions, transfers, subscriptions, net worth)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.0","pino":"^9.5.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asa-partner-data-mcp-server_0.0.4_1784948364010_0.344252258679661","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@asafinancial/asa-partner-data-mcp-server","version":"0.0.6","mcpName":"io.github.asafinancial/asa-partner-data-mcp-server","description":"ASA Partner Data MCP Server - consent-based, key-scoped AI agent access to ASA Open API data (balances, transactions, transfers, subscriptions, net worth)","type":"module","main":"./dist/index.js","bin":{"asa-partner-data-mcp-server":"dist/index.js"},"scripts":{"start":"node dist/index.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","pino":"^9.5.0","zod":"^3.24.0"},"engines":{"node":">=18.0.0"},"repository":{"type":"git","url":"git+https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server.git"},"author":{"name":"Asa Technologies Inc."},"license":"SEE LICENSE IN LICENSE","keywords":["mcp","asa","fintech","open-api","ai-agent"],"homepage":"https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server#readme","publishConfig":{"access":"public"},"_id":"@asafinancial/asa-partner-data-mcp-server@0.0.6","gitHead":"9f75ae6cd9146598216e6d45fc05098a2d11af98","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server/issues"},"_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-P4/m8M0ymnmJy9cJ8jMuIYtDqQxbKTdwJ7gMLCj5VzRShXiU65ZNnMnXGdOIdkdQPvfk9Dn/CqJ4nRtgJXS8CQ==","shasum":"de7116636084252a65251cce7a71fdfd21babcec","tarball":"https://registry.npmjs.org/@asafinancial/asa-partner-data-mcp-server/-/asa-partner-data-mcp-server-0.0.6.tgz","fileCount":7,"unpackedSize":188667,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDxyAo150QlnaIlIJ9oFdKn36CUZV2jOC57jYL7ewqDkwIgCpt/qcZSTMii6xrRqiTid3s5B1JjoYIGAy3D1oWhBg8="}]},"_npmUser":{"name":"asadeveloper","email":"developer@asa.financial"},"directories":{},"maintainers":[{"name":"asadeveloper","email":"developer@asa.financial"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/asa-partner-data-mcp-server_0.0.6_1785041464397_0.5090323886753187"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-24T13:13:52.469Z","modified":"2026-07-26T04:51:04.700Z","0.0.1":"2026-07-24T13:13:52.719Z","0.0.2":"2026-07-24T13:29:34.047Z","0.0.3":"2026-07-24T14:08:29.625Z","0.0.4":"2026-07-25T02:59:24.152Z","0.0.5":"2026-07-26T04:46:26.708Z","0.0.6":"2026-07-26T04:51:04.543Z"},"bugs":{"url":"https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server/issues"},"author":{"name":"Asa Technologies Inc."},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server#readme","keywords":["mcp","asa","fintech","open-api","ai-agent"],"repository":{"type":"git","url":"git+https://github.com/ASAFINANCIAL/asa-partner-data-mcp-server.git"},"description":"ASA Partner Data MCP Server - consent-based, key-scoped AI agent access to ASA Open API data (balances, transactions, transfers, subscriptions, net worth)","maintainers":[{"name":"asadeveloper","email":"developer@asa.financial"}],"readme":"# ASA Partner Data MCP Server\r\n\r\nProprietary — licensed to ASA partners; see [`LICENSE`](./LICENSE) and the [Terms of Use](./TERMS.md). (To see which version you're running, ask the server's `asa_meta_health` tool from your agent; for a [manual install](#manual-install-pinned-copy), `npm ls @asafinancial/asa-partner-data-mcp-server` in that project also shows it.)\r\n\r\nConnect your AI agents to your consumers' financial world — securely, with their consent, through ASA.\r\n\r\nThe **ASA Partner Data MCP Server** gives partner fintechs a governed [Model Context Protocol](https://modelcontextprotocol.io) toolbox over the ASA Open API. Register it once in your agent stack (Claude, Cursor, LangChain, custom copilots) and your agents get **live, consent-based access to your consented consumers' financial data** — answering questions like *\"what's the balance across this consumer's accounts?\"* or *\"what subscriptions are they paying for?\"*.\r\n\r\n## Why one MCP server covers every institution\r\n\r\nASA already unifies a consumer's accounts across their banks, credit unions, and financial institutions. This server exposes that unified picture through a single integration:\r\n\r\n- **One connection, every institution.** No per-bank MCP servers, no per-bank setup, no waiting for each institution to ship one.\r\n- **Cross-institution answers in one question.** *\"What's their total cash across all accounts?\" \"Every recurring charge across all cards?\" \"Real net worth — everything included?\"*\r\n- **Consent and control underneath it all.** The consumer granted every connection, controls every permission, and can revoke any of it at any time. Your agents never see raw fintech or consumer credentials.\r\n\r\n## Prerequisites — do these first\r\n\r\nWork through this checklist before any setup step. Each item tells you how to **check** it and what **action** to take if it's missing.\r\n\r\n**1. Node.js ≥ 18** (Windows, macOS, and Linux are all supported — your AI tool does **not** install Node for you)\r\n\r\n- **Check:** open a terminal and run `node --version` — you want `v18` or higher.\r\n- **Action if missing** (pick your OS):\r\n  - Windows: install from [nodejs.org](https://nodejs.org) (LTS installer), or `winget install OpenJS.NodeJS.LTS` — then **restart your computer** so desktop apps see the new PATH.\r\n  - macOS: install from [nodejs.org](https://nodejs.org), or `brew install node`.\r\n  - Linux: `sudo apt install nodejs npm` (Debian/Ubuntu) or your distro's package.\r\n- **Verify:** open a **new** terminal, `node --version` prints v18+.\r\n\r\n**2. ASA partner credentials** — an ASA subscription key plus your fintech identity (fintech code, application code, authorization key), issued when you onboard as a partner.\r\n\r\n- **Check:** you have all four values from your ASA onboarding.\r\n- **Action if missing:** contact your ASA representative (see [Support](#support)).\r\n\r\n**3. An MCP access key** (`ASA_MCP_KEY`) for the agent that will use this server.\r\n\r\n- **Check:** you have a non-empty key issued by ASA.\r\n- **Action if missing:** request one from ASA (see [Support](#support)).\r\n\r\n**4. Optional but recommended:** run the [doctor](#check-your-setup) once — it validates all of the above in one command and pre-downloads the server so your AI tool's first launch is instant.\r\n\r\n## Installation\r\n\r\n**Registering with an MCP client needs no install step** — the `npx` commands in the next section download and cache the package automatically on first use. Install it explicitly only when you want a pinned copy (for example inside your own agent project).\r\n\r\n### Manual install (pinned copy)\r\n\r\nRun these four commands in a **fresh folder** (or your own agent project) — not inside a clone of any repository. They are identical in cmd, PowerShell, and bash:\r\n\r\n```\r\nmkdir mcp-install-test\r\ncd mcp-install-test\r\nnpm init -y\r\nnpm install @asafinancial/asa-partner-data-mcp-server\r\n```\r\n\r\nTo install the same package from GitHub instead of npm, replace the last command with `npm install github:ASAFINANCIAL/asa-partner-data-mcp-server`.\r\n\r\nThe package lands in `node_modules/@asafinancial/asa-partner-data-mcp-server/` (entry point `dist/index.js`). Verify the install and version with:\r\n\r\n```bash\r\nnpm ls @asafinancial/asa-partner-data-mcp-server\r\n```\r\n\r\nThen check it works end-to-end with the doctor — see [Check your setup](#check-your-setup).\r\n\r\n## Set up in your AI tool\r\n\r\n> **Before you start:** complete the [Prerequisites](#prerequisites--do-these-first) checklist — especially Node.js. Your AI tool runs the server but does not install Node for you; without it, setup fails with `'npx' is not recognized`.\r\n\r\nThe server works with **any AI tool that supports MCP**. Setup is the same three things in every tool:\r\n\r\n1. **Tell the tool how to start the server.**\r\n   - macOS / Linux: `npx -y @asafinancial/asa-partner-data-mcp-server`\r\n   - Windows: the same command with `cmd /c` in front — Windows needs a shell to run `npx`\r\n2. **Give it your six ASA credential values** — the same `env` block everywhere:\r\n\r\n   ```jsonc\r\n   \"env\": {\r\n     \"ASA_MCP_KEY\": \"<your MCP access key>\",\r\n     \"ASA_OPENAPI_BASE_URL\": \"<ASA Open API base URL provided by ASA>\",\r\n     \"ASA_SUBSCRIPTION_KEY\": \"<your ASA subscription key>\",\r\n     \"ASA_FINTECH_CODE\": \"<your fintech code>\",\r\n     \"ASA_APPLICATION_CODE\": \"<your application code>\",\r\n     \"ASA_AUTHORIZATION_KEY\": \"<your authorization key>\"\r\n   }\r\n   ```\r\n\r\n3. **Restart the tool completely**, then confirm `asa-partner-data-mcp` shows up in its tools list.\r\n\r\nJump to your tool:\r\n[Claude Desktop](#set-up-claude-desktop) · [Claude Code](#set-up-claude-code) · [Cursor](#set-up-cursor) · [VS Code](#set-up-vs-code-github-copilot) · [Gemini CLI](#set-up-gemini-cli) · [Codex CLI](#set-up-codex-cli) · [ChatGPT](#set-up-chatgpt) · [Everything else](#set-up-any-other-mcp-tool-or-sdk)\r\n\r\n### Set up Claude Desktop\r\n\r\n1. Open the config file: **Settings → Developer → Edit Config**, or edit it directly:\r\n   - Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\r\n   - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\r\n2. Add this entry (shown for **Windows** — on macOS use `\"command\": \"npx\"` and drop `\"/c\", \"npx\"` from `args`):\r\n\r\n   ```jsonc\r\n   {\r\n     \"mcpServers\": {\r\n       \"asa-partner-data-mcp\": {\r\n         \"command\": \"cmd\",\r\n         \"args\": [\"/c\", \"npx\", \"-y\", \"@asafinancial/asa-partner-data-mcp-server\"],\r\n         \"env\": { /* the six values from step 2 above */ }\r\n       }\r\n     }\r\n   }\r\n   ```\r\n\r\n3. Quit Claude Desktop **completely** — closing the window is not enough. Windows: right-click the Claude tray icon → **Quit**. macOS: **Cmd-Q**. Then relaunch.\r\n4. Check it worked: open a new chat, click the tools (sliders) icon — `asa-partner-data-mcp` is listed with its tools. Try: *\"Using the ASA tools, list my consented consumers.\"*\r\n\r\n### Set up Claude Code\r\n\r\n1. Run one command (repeat `--env` for each of the six values):\r\n\r\n   ```bash\r\n   claude mcp add asa-partner-data-mcp --env ASA_MCP_KEY=... -- npx -y @asafinancial/asa-partner-data-mcp-server\r\n   ```\r\n\r\n   - Alternative: add the same JSON entry as Claude Desktop to `.mcp.json` at your project root.\r\n   - Windows: keep the `cmd /c` form.\r\n2. Start a new Claude Code session — the `asa-partner-data-mcp` tools appear automatically.\r\n\r\n### Set up Cursor\r\n\r\n1. Add the same JSON entry as Claude Desktop to:\r\n   - `~/.cursor/mcp.json` — for all projects, or\r\n   - `.cursor/mcp.json` — inside one workspace.\r\n2. Restart Cursor.\r\n3. Check **Settings → MCP** — `asa-partner-data-mcp` shows as connected.\r\n\r\n### Set up VS Code (GitHub Copilot)\r\n\r\nAdd the same entry to `.vscode/mcp.json` in your workspace — VS Code uses a `\"servers\"` key instead of `\"mcpServers\"`:\r\n\r\n```jsonc\r\n{\r\n  \"servers\": {\r\n    \"asa-partner-data-mcp\": {\r\n      \"command\": \"cmd\",\r\n      \"args\": [\"/c\", \"npx\", \"-y\", \"@asafinancial/asa-partner-data-mcp-server\"],\r\n      \"env\": { /* the six values */ }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\nWorks in Copilot agent mode. macOS/Linux: `\"command\": \"npx\"`, drop `\"/c\", \"npx\"`.\r\n\r\n### Set up Gemini CLI\r\n\r\n1. Add the same JSON entry as Claude Desktop (a `\"mcpServers\"` object) to:\r\n   - `~/.gemini/settings.json` — for all projects, or\r\n   - `.gemini/settings.json` — inside one project.\r\n2. Restart the CLI.\r\n3. Type `/mcp` — `asa-partner-data-mcp` shows in the connected servers list.\r\n\r\n### Set up Codex CLI\r\n\r\nAdd to `~/.codex/config.toml`:\r\n\r\n```toml\r\n[mcp_servers.\"asa-partner-data-mcp\"]\r\ncommand = \"cmd\"                # macOS/Linux: \"npx\"\r\nargs = [\"/c\", \"npx\", \"-y\", \"@asafinancial/asa-partner-data-mcp-server\"]   # macOS/Linux: drop \"/c\", \"npx\"\r\n\r\n[mcp_servers.\"asa-partner-data-mcp\".env]\r\nASA_MCP_KEY = \"<your MCP access key>\"\r\nASA_OPENAPI_BASE_URL = \"<ASA Open API base URL provided by ASA>\"\r\nASA_SUBSCRIPTION_KEY = \"<your ASA subscription key>\"\r\nASA_FINTECH_CODE = \"<your fintech code>\"\r\nASA_APPLICATION_CODE = \"<your application code>\"\r\nASA_AUTHORIZATION_KEY = \"<your authorization key>\"\r\n```\r\n\r\n### Set up ChatGPT\r\n\r\n- **Not yet supported in the ChatGPT app.** ChatGPT Connectors only talk to hosted remote MCP servers over HTTPS — they can't start local ones like this.\r\n- **Works today via the OpenAI Agents SDK** — use its stdio MCP support (`MCPServerStdio`) with the same command + env values.\r\n- **Coming:** a hosted ASA endpoint for remote-only tools is on our roadmap — contact ASA to register interest.\r\n\r\n### Set up any other MCP tool or SDK\r\n\r\nAny MCP host or agent framework that can launch a **stdio** server (Windsurf, Antigravity, LangChain MCP adapters, custom copilots, …) needs the same three values:\r\n\r\n- **command**: `npx` (Windows: `cmd`)\r\n- **args**: `[\"-y\", \"@asafinancial/asa-partner-data-mcp-server\"]` (Windows: `[\"/c\", \"npx\", \"-y\", ...]`)\r\n- **env**: the six ASA values\r\n\r\nThe Windows `cmd /c` form is safe in every tool — when in doubt, use it on Windows everywhere.\r\n\r\n### If something doesn't work\r\n\r\n- **First start is slow / shows \"disconnected\" once** — the very first `npx` run downloads the package (10–30 s). Run the doctor first ([Check your setup](#check-your-setup)) to pre-download it, or simply restart the tool once.\r\n- **Log says `'npx' is not recognized as an internal or external command`** (or `npx: command not found`) — Node.js is missing from the environment your AI tool sees. Check in a **new** terminal: `node --version`.\r\n  1. Says \"not recognized\" too → Node.js isn't installed. Install Node ≥ 18 (see [Prerequisites](#prerequisites--do-these-first)), then **restart your computer** — desktop apps only pick up the new PATH after a sign-out or reboot — and relaunch the tool.\r\n  2. Prints v18 or newer → your AI tool was started before Node was installed. Quit it completely (Windows: system tray → Quit) and relaunch; if it still fails, reboot once.\r\n- **Server still won't start** — take PATH out of the picture entirely: install globally (`npm install -g @asafinancial/asa-partner-data-mcp-server`), find your global modules folder (`npm root -g`), and register with the **absolute path to Node** — Windows: `\"command\": \"C:\\\\Program Files\\\\nodejs\\\\node.exe\"`, macOS/Linux: `\"command\": \"/usr/local/bin/node\"` (or the output of `where node` / `which node`) — and `\"args\": [\"<npm-root-g>/@asafinancial/asa-partner-data-mcp-server/dist/index.js\"]` (Windows paths: forward slashes or doubled backslashes).\r\n- **Where the logs are** — Claude Desktop writes the launch error to `%APPDATA%\\Claude\\logs\\mcp-server-asa-partner-data-mcp.log` (Windows) or `~/Library/Logs/Claude/` (macOS). The server's own log locations are listed under [Uninstall](#uninstall).\r\n\r\n### Check your setup\r\n\r\nThe built-in **doctor** checks your whole setup before you register anything — config completeness, upstream reachability, and your credentials. Run it in three steps:\r\n\r\n1. **Open a terminal.**\r\n2. **Set the six values as environment variables** (in a terminal you must set them yourself — your AI tool's `env` block only applies at its runtime). Use the block for your shell:\r\n\r\n**Windows — Command Prompt (cmd):** (keep the quotes — they make the line safe no matter what characters your value contains)\r\n\r\n```bat\r\nset \"ASA_MCP_KEY=your MCP access key\"\r\nset \"ASA_OPENAPI_BASE_URL=the ASA Open API base URL provided by ASA\"\r\nset \"ASA_SUBSCRIPTION_KEY=your ASA subscription key\"\r\nset \"ASA_FINTECH_CODE=your fintech code\"\r\nset \"ASA_APPLICATION_CODE=your application code\"\r\nset \"ASA_AUTHORIZATION_KEY=your authorization key\"\r\n```\r\n\r\n**Windows — PowerShell:**\r\n\r\n```powershell\r\n$env:ASA_MCP_KEY           = \"<your MCP access key>\"\r\n$env:ASA_OPENAPI_BASE_URL  = \"<ASA Open API base URL provided by ASA>\"\r\n$env:ASA_SUBSCRIPTION_KEY  = \"<your ASA subscription key>\"\r\n$env:ASA_FINTECH_CODE      = \"<your fintech code>\"\r\n$env:ASA_APPLICATION_CODE  = \"<your application code>\"\r\n$env:ASA_AUTHORIZATION_KEY = \"<your authorization key>\"\r\n```\r\n\r\n**macOS / Linux:**\r\n\r\n```bash\r\nexport ASA_MCP_KEY=\"<your MCP access key>\"\r\nexport ASA_OPENAPI_BASE_URL=\"<ASA Open API base URL provided by ASA>\"\r\nexport ASA_SUBSCRIPTION_KEY=\"<your ASA subscription key>\"\r\nexport ASA_FINTECH_CODE=\"<your fintech code>\"\r\nexport ASA_APPLICATION_CODE=\"<your application code>\"\r\nexport ASA_AUTHORIZATION_KEY=\"<your authorization key>\"\r\n```\r\n\r\n3. **Run the doctor in the same terminal:**\r\n\r\n   ```bash\r\n   npx -y @asafinancial/asa-partner-data-mcp-server doctor     # no install needed\r\n   npx asa-partner-data-mcp-server doctor                      # from a folder where you installed it manually\r\n   ```\r\n\r\nWhat to expect:\r\n\r\n- A healthy setup ends with `OVERALL: PASS` (exit code 0 — usable as an automated gate in your own CI).\r\n- Each failing line names exactly which variable to fix. Secret values are never printed.\r\n- Bonus: the first `npx -y` run pre-downloads the package, so your AI tool's first launch is instant.\r\n\r\n## Uninstall\r\n\r\nRemoving the server is the setup in reverse — the `npx` form installs nothing beyond npm's cache.\r\n\r\n1. **Remove the registration.**\r\n   - Open your AI tool's config file (the same one from [Set up in your AI tool](#set-up-in-your-ai-tool) — for Claude Desktop: **Settings → Developer → Edit Config**).\r\n   - Delete the entire `\"asa-partner-data-mcp\": { ... }` entry.\r\n   - Keep the surrounding JSON valid (watch the trailing comma if other servers remain).\r\n2. **Restart the tool completely.**\r\n   - Windows: quit from the system tray. macOS: **Cmd-Q**. Then relaunch.\r\n   - The `asa-partner-data-mcp` tools disappear from the tools menu.\r\n3. **Remove cached files** *(optional)* — pick whichever applies to how you installed:\r\n   - Used `npx` (the default): `npm cache clean --force`\r\n   - Used the global-install fallback: `npm uninstall -g @asafinancial/asa-partner-data-mcp-server`\r\n   - Installed a pinned copy in a project ([Installation](#installation)): run `npm uninstall @asafinancial/asa-partner-data-mcp-server` in that project.\r\n4. **Delete local logs** *(optional)* — the server writes a rotating, secret-redacted log file you may delete:\r\n\r\n| OS | Log folder |\r\n|---|---|\r\n| Windows | `%LOCALAPPDATA%\\AsaFinancial\\asa-partner-data-mcp\\logs\\` |\r\n| macOS | `~/Library/Logs/AsaFinancial/asa-partner-data-mcp/` |\r\n| Linux | `$XDG_STATE_HOME/asa-partner-data-mcp/logs/` (default `~/.local/state/asa-partner-data-mcp/logs/`) |\r\n\r\n> Your credentials live **only** in the config entry you deleted in Step 1 — removing it revokes this machine's access. To retire the credentials themselves (e.g. an employee left or a key may have leaked), contact ASA to rotate or revoke your MCP access key and fintech authorization key.\r\n\r\n## Configuration\r\n\r\nRequired:\r\n\r\n| Variable | Purpose |\r\n|---|---|\r\n| `ASA_MCP_KEY` | Access key for the agent using this MCP server |\r\n| `ASA_OPENAPI_BASE_URL` | ASA Open API base URL (provided by ASA) |\r\n| `ASA_SUBSCRIPTION_KEY` | ASA gateway subscription key |\r\n| `ASA_FINTECH_CODE` / `ASA_APPLICATION_CODE` / `ASA_AUTHORIZATION_KEY` | Your fintech identity, issued by ASA |\r\n\r\nOptional:\r\n\r\n| Variable | Default | Purpose |\r\n|---|---|---|\r\n| `ASA_OPENAPI_SUPPORTED_VERSIONS` | `1.09` | CSV of ASA Open API contract versions this instance accepts |\r\n| `ASA_OPENAPI_DEFAULT_VERSION` | `1.09` | Version used when a tool call doesn't specify one |\r\n| `ASA_MCP_CHECK_UPDATES` | `on` | Version-lifecycle checks (`on` / `eager` / `off`) — update notices and deprecation warnings |\r\n| `ASA_MCP_PREFLIGHT` | `off` | `eager` additionally runs credential probes at startup (non-blocking) |\r\n| `ASA_MCP_TELEMETRY` | `on` | Usage telemetry (see Privacy below); `off` = zero network emission |\r\n| `ASA_MCP_LOG_LEVEL` | `info` | pino log level |\r\n| `ASA_MCP_LOG_TO_FILE` | `on` | Rotating local log file in addition to stderr (`off` = stderr only) |\r\n| `ASA_MCP_LOG_FILE` | OS default | Full path override for the log file |\r\n| `ASA_REDIRECT_URL` / `ASA_REDIRECT_FAILURE_URL` | localhost placeholders | Redirect URLs required by the upstream Authorization call (used only by the doctor's identity probe; never followed — placeholders are fine) |\r\n| `ASA_DATADOG_API_KEY` | (empty) | Ship telemetry events to your own Datadog account; leave blank to keep telemetry a local no-op |\r\n| `ASA_DATADOG_SITE` | `datadoghq.com` | Datadog site/region for the intake host |\r\n| `ASA_MCP_TELEMETRY_PEPPER` | derived from `ASA_MCP_KEY` | Pepper for the privacy-preserving consumer-code hash in telemetry; set explicitly only to keep hashes stable across key rotations |\r\n\r\n## Tools\r\n\r\nTool names follow a simple convention: `get_*` retrieves directly, `find_*`\r\nsearches with filters, `lookup_*` resolves identities and reference data. Most\r\nruntime tools operate on one **consented consumer**, identified by the\r\n`asaConsumerCode` argument — only data that consumer authorized for your fintech\r\nis reachable. Every response is the ASA envelope `{ status, message, data }`;\r\nevery failure is a structured error `{ code, message, recovery, severity }`\r\n(`ASA_MCP_NNN` catalog) your agent can self-correct from.\r\n\r\n| Tool | Category | What it does |\r\n|---|---|---|\r\n| `get_accounts` | Accounts | Authorized accounts for a consumer, each with its current balance |\r\n| `get_balances` | Accounts | Full balance detail (current/available) for one account |\r\n| `find_transactions` | Search | Transaction search — date range, category, status, type, paging |\r\n| `find_transfers` | Search | Transfers between the consumer's accounts, by date range + status |\r\n| `get_transfer` | Transfers | One transfer by confirmation number |\r\n| `lookup_transfer_statuses` | Reference | Valid transfer status values for the `find_transfers` filter |\r\n| `get_subscriptions` | Money | Active recurring subscriptions detected across accounts |\r\n| `get_subscription_plans` | Money | Subscription plans on offer |\r\n| `get_networth` | Wealth | Net worth series (Daily/Weekly/Monthly) |\r\n| `get_holdings` | Wealth | Investment positions across linked accounts |\r\n| `get_assets` | Wealth | Tracked assets (property, vehicles, valuables) |\r\n| `get_debts` | Wealth | Tracked debts (loans, mortgages, credit balances) |\r\n| `get_payment_history` | Money | Payment history (paged) |\r\n| `get_notifications` | Consumer | Consumer notifications (paged, read/deleted filters) |\r\n| `get_consumer` | Consumer | One consumer's identity/contact/status |\r\n| `get_consumer_list` | Consumer | Consumers signed up with your fintech (paged) |\r\n| `lookup_institution` | Reference | Financial institutions known to the ASA Platform |\r\n| `lookup_transaction_categories` | Reference | Transaction category ids + names |\r\n| `lookup_account_types` | Reference | Account type reference data |\r\n| `asa_api_key_info` | Meta | Masked MCP-key + version-lifecycle metadata |\r\n| `asa_meta_doctor` | Meta | Layered setup diagnostics with per-layer pass/fail |\r\n| `asa_meta_health` | Meta | Quick upstream liveness + latency check (reports the API version in use) |\r\n| `asa_meta_set_api_version` | Meta | Pin the ASA Open API version for this session, or reset to automatic |\r\n| `asa_meta_report_issue` | Meta | File a redacted support issue with ASA |\r\n| `asa_meta_issue_status` | Meta | Check the status of a filed issue |\r\n\r\n**Full argument reference and request/response examples for every tool:\r\n[`TOOLS.md`](./TOOLS.md)** — ships with this package.\r\n\r\n## About ASA Financial\r\n\r\nASA Financial (ASA Technologies Inc.) operates the ASA Platform, a privacy-first, embedded financial-intelligence platform that gives consumers a unified view of their finances across every linked institution, and gives banks, credit unions, and fintech partners one secure connectivity layer to serve them. Through **AsaVault**, ASA aggregates multi-account data and delivers predictive insights, net-worth tracking, cash-flow analysis, and forecasting. The **ASA Partner Data MCP Server** exposes that consented consumer financial data to partner AI agents over the ASA Open API. Security is foundational — bank-grade encryption, SOC 2 Type 2, and a privacy-first design where consumers control their data and ASA never sells personal information.\r\n\r\n## Security & privacy\r\n\r\n- **No consumer credentials, ever** — you configure only your own fintech identity. Your systems and your agents never hold a consumer's login; consumers grant and revoke access through ASA.\r\n- **Consent-scoped** — only data the consumer granted your fintech is reachable; permissions are revocable at any time.\r\n- **Redaction everywhere** — logs and support-issue payloads mask tokens, credentials, emails, and account/card numbers.\r\n- **stdio isolation** — stdout carries only the MCP protocol; logs go to stderr and an optional rotating local file.\r\n- **Telemetry is privacy-preserving and optional** — one usage event per tool call (tool, outcome, latency), with keys and consumer identifiers sent only as non-reversible hashes. Set `ASA_MCP_TELEMETRY=off` for a full opt-out with zero network emission.\r\n\r\n## Support\r\n\r\nUse the `asa_meta_report_issue` tool to file an issue directly from your agent (payloads are automatically redacted), or contact your ASA partner representative.\r\n\r\n## License\r\n\r\n© 2026 Asa Technologies Inc. (dba ASA Financial). All rights reserved. This\r\nsoftware is proprietary and is licensed, not sold, to ASA partners for use under\r\ntheir partner agreement — see the [`LICENSE`](./LICENSE) file and the\r\n[`TERMS.md`](./TERMS.md) Terms of Use, which ship with the package. No\r\nredistribution, modification, or reverse engineering is permitted. Usage\r\ntelemetry is described in the Security & privacy section above and may be disabled\r\nwith `ASA_MCP_TELEMETRY=off`.\r\n","readmeFilename":"README.md"}