@moonbanking/mcp-server 1.2.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +122 -23
- package/README.md +66 -18
- package/chatgpt.md +83 -0
- package/claude-code.md +74 -0
- package/claude.md +95 -0
- package/cursor.md +86 -0
- package/grok.md +71 -0
- package/mcp-inspector.md +60 -0
- package/package.json +1 -1
- package/vscode.md +75 -0
- package/windsurf.md +71 -0
- package/zed.md +72 -0
|
@@ -169,39 +169,124 @@ jobs:
|
|
|
169
169
|
token: ${{ secrets.SYNC_DOCS_TOKEN }}
|
|
170
170
|
path: moonbanking
|
|
171
171
|
|
|
172
|
-
- name: Update documentation
|
|
172
|
+
- name: Update main MCP documentation
|
|
173
|
+
shell: bash
|
|
173
174
|
run: |
|
|
174
175
|
# Create the target directory if it doesn't exist
|
|
175
176
|
mkdir -p moonbanking/apps/docs/app/mcp
|
|
176
|
-
|
|
177
|
+
|
|
177
178
|
# Create the new content with prepended metadata
|
|
178
179
|
cat > moonbanking/apps/docs/app/mcp/page.mdx << 'EOF'
|
|
179
|
-
{/*
|
|
180
|
-
DO NOT EDIT THIS FILE DIRECTLY!
|
|
181
|
-
|
|
180
|
+
{/*
|
|
181
|
+
DO NOT EDIT THIS FILE DIRECTLY!
|
|
182
|
+
|
|
182
183
|
It is automatically generated by the npm-publish GitHub Action in
|
|
183
184
|
the moonbanking/mcp-server repository.
|
|
184
185
|
*/}
|
|
185
|
-
|
|
186
|
+
|
|
186
187
|
export const metadata = {
|
|
187
188
|
title: `MCP`,
|
|
188
189
|
description: `Create AI agents using Moon Banking's MCP server. Get high-quality data about banks worldwide from your favorite LLM platform with Moon Banking's MCP.`,
|
|
189
190
|
};
|
|
190
|
-
|
|
191
|
-
<ApiKeyNote featureName="MCP" />
|
|
192
|
-
|
|
191
|
+
|
|
193
192
|
EOF
|
|
194
|
-
|
|
193
|
+
|
|
195
194
|
# Append the README content
|
|
196
195
|
cat mcp-server/README.md >> moonbanking/apps/docs/app/mcp/page.mdx
|
|
197
|
-
|
|
198
|
-
|
|
196
|
+
|
|
197
|
+
# Rewrite GitHub-relative markdown links so they resolve to docs-app routes:
|
|
198
|
+
# ./README.md → /mcp
|
|
199
|
+
# ./<slug>.md → /<slug>
|
|
200
|
+
# Also handles the bare-form variants (without `./`).
|
|
201
|
+
sed -i -E \
|
|
202
|
+
-e 's#\]\((\./)?README\.md\)#](/mcp)#g' \
|
|
203
|
+
-e 's#\]\((\./)?([A-Za-z][A-Za-z0-9-]*)\.md\)#](/\2)#g' \
|
|
204
|
+
moonbanking/apps/docs/app/mcp/page.mdx
|
|
205
|
+
|
|
206
|
+
echo "✅ Main MCP documentation updated"
|
|
207
|
+
|
|
208
|
+
- name: Update platform documentation
|
|
209
|
+
shell: bash
|
|
210
|
+
run: |
|
|
211
|
+
# Sync each per-platform doc page (e.g. mcp-server/cursor.md, which
|
|
212
|
+
# lives at the package root alongside README.md) into the docs app
|
|
213
|
+
# as a TOP-LEVEL route (apps/docs/app/cursor/page.mdx).
|
|
214
|
+
# Title + description are parsed from the markdown file itself, so
|
|
215
|
+
# adding a new platform in the moonbanking monorepo generator
|
|
216
|
+
# automatically flows through this workflow with no further edits.
|
|
217
|
+
|
|
218
|
+
shopt -s nullglob
|
|
219
|
+
synced=0
|
|
220
|
+
|
|
221
|
+
# Files we should NOT treat as platform docs even if they end in .md.
|
|
222
|
+
skip_regex='^(README|CHANGELOG|LICENSE|CONTRIBUTING|CODE_OF_CONDUCT|SECURITY)$'
|
|
223
|
+
|
|
224
|
+
for src in mcp-server/*.md; do
|
|
225
|
+
slug="$(basename "$src" .md)"
|
|
226
|
+
|
|
227
|
+
# Skip non-platform markdown at the package root.
|
|
228
|
+
if [[ "$slug" =~ $skip_regex ]]; then
|
|
229
|
+
echo "↪︎ Skipping $slug.md (non-platform file)"
|
|
230
|
+
continue
|
|
231
|
+
fi
|
|
232
|
+
|
|
233
|
+
# Extract `<Name>` from `# Moon Banking MCP for <Name>` (first H1).
|
|
234
|
+
title="$(sed -n 's/^# Moon Banking MCP for \(.*\)$/\1/p' "$src" | head -n1)"
|
|
235
|
+
# Extract description from the first `> ...` blockquote line.
|
|
236
|
+
description="$(sed -n 's/^> \(.*\)$/\1/p' "$src" | head -n1)"
|
|
237
|
+
|
|
238
|
+
# If the file doesn't look like a platform doc, bail rather than
|
|
239
|
+
# publish a malformed docs page.
|
|
240
|
+
if [ -z "$title" ]; then
|
|
241
|
+
echo "⚠️ ${slug}.md does not look like a platform doc (no '# Moon Banking MCP for ...' H1) — skipping."
|
|
242
|
+
continue
|
|
243
|
+
fi
|
|
244
|
+
|
|
245
|
+
if [ -z "$description" ]; then
|
|
246
|
+
description="Connect ${title} to the Moon Banking MCP server."
|
|
247
|
+
fi
|
|
248
|
+
|
|
249
|
+
dest_dir="moonbanking/apps/docs/app/$slug"
|
|
250
|
+
mkdir -p "$dest_dir"
|
|
251
|
+
dest="$dest_dir/page.mdx"
|
|
252
|
+
|
|
253
|
+
{
|
|
254
|
+
echo '{/*'
|
|
255
|
+
echo ' DO NOT EDIT THIS FILE DIRECTLY!'
|
|
256
|
+
echo ''
|
|
257
|
+
echo ' It is automatically generated by the npm-publish GitHub Action in'
|
|
258
|
+
echo ' the moonbanking/mcp-server repository.'
|
|
259
|
+
echo '*/}'
|
|
260
|
+
echo ''
|
|
261
|
+
echo 'export const metadata = {'
|
|
262
|
+
echo " title: \`MCP — ${title}\`,"
|
|
263
|
+
echo " description: \`${description}\`,"
|
|
264
|
+
echo '};'
|
|
265
|
+
echo ''
|
|
266
|
+
} > "$dest"
|
|
267
|
+
|
|
268
|
+
cat "$src" >> "$dest"
|
|
269
|
+
|
|
270
|
+
# Rewrite GitHub-relative markdown links so they resolve to
|
|
271
|
+
# docs-app routes:
|
|
272
|
+
# ./README.md → /mcp
|
|
273
|
+
# ./<slug>.md → /<slug>
|
|
274
|
+
sed -i -E \
|
|
275
|
+
-e 's#\]\((\./)?README\.md\)#](/mcp)#g' \
|
|
276
|
+
-e 's#\]\((\./)?([A-Za-z][A-Za-z0-9-]*)\.md\)#](/\2)#g' \
|
|
277
|
+
"$dest"
|
|
278
|
+
|
|
279
|
+
echo "✅ Synced ${slug}.md → apps/docs/app/${slug}/page.mdx"
|
|
280
|
+
synced=$((synced + 1))
|
|
281
|
+
done
|
|
282
|
+
|
|
283
|
+
echo "📚 ${synced} platform docs synced"
|
|
199
284
|
|
|
200
285
|
- name: Check for changes
|
|
201
286
|
id: check_changes
|
|
202
287
|
run: |
|
|
203
288
|
cd moonbanking
|
|
204
|
-
if git
|
|
289
|
+
if [ -z "$(git status --porcelain apps/docs/app/)" ]; then
|
|
205
290
|
echo "has_changes=false" >> $GITHUB_OUTPUT
|
|
206
291
|
echo "ℹ️ No changes detected in documentation"
|
|
207
292
|
else
|
|
@@ -221,16 +306,29 @@ jobs:
|
|
|
221
306
|
title: 'docs: sync MCP documentation v${{ needs.publish.outputs.version }}'
|
|
222
307
|
body: |
|
|
223
308
|
## 🔄 Automated Documentation Sync
|
|
224
|
-
|
|
309
|
+
|
|
225
310
|
This PR automatically syncs the MCP server documentation from the [mcp-server repository](https://github.com/moonbanking/mcp-server).
|
|
226
|
-
|
|
311
|
+
|
|
227
312
|
**Version:** v${{ needs.publish.outputs.version }}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
313
|
+
|
|
314
|
+
### Sources → targets
|
|
315
|
+
|
|
316
|
+
| Source (mcp-server root) | Target (moonbanking docs) |
|
|
317
|
+
| --- | --- |
|
|
318
|
+
| `README.md` | `apps/docs/app/mcp/page.mdx` |
|
|
319
|
+
| `<slug>.md` (cursor, claude, …) | `apps/docs/app/<slug>/page.mdx` (top-level route, one per MCP client) |
|
|
320
|
+
|
|
321
|
+
### Link rewriting
|
|
322
|
+
|
|
323
|
+
GitHub-relative markdown links inside the source files are rewritten at sync time so they resolve to docs-app routes:
|
|
324
|
+
|
|
325
|
+
- `./README.md` → `/mcp`
|
|
326
|
+
- `./<slug>.md` → `/<slug>`
|
|
327
|
+
|
|
231
328
|
### Changes
|
|
232
|
-
- Updated MCP documentation with latest content from mcp-server v${{ needs.publish.outputs.version }}
|
|
233
|
-
|
|
329
|
+
- Updated main MCP documentation with latest content from mcp-server v${{ needs.publish.outputs.version }}
|
|
330
|
+
- Synced per-platform setup guides (Claude, Cursor, Grok, ChatGPT, VS Code, Windsurf, Zed, Claude Code, MCP Inspector, …) to their own top-level docs pages
|
|
331
|
+
|
|
234
332
|
---
|
|
235
333
|
*This PR was automatically created by the npm-publish GitHub Action*
|
|
236
334
|
labels: |
|
|
@@ -245,12 +343,13 @@ jobs:
|
|
|
245
343
|
echo "Created pull request to sync MCP documentation to getfullup/moonbanking repository." >> $GITHUB_STEP_SUMMARY
|
|
246
344
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
247
345
|
echo "**Version:** v${{ needs.publish.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
|
248
|
-
echo "**
|
|
346
|
+
echo "**Targets:**" >> $GITHUB_STEP_SUMMARY
|
|
347
|
+
echo "- apps/docs/app/mcp/page.mdx (main MCP page from README.md)" >> $GITHUB_STEP_SUMMARY
|
|
348
|
+
echo "- apps/docs/app/<slug>/page.mdx (one per platform, from <slug>.md at package root)" >> $GITHUB_STEP_SUMMARY
|
|
249
349
|
else
|
|
250
350
|
echo "## ℹ️ No Documentation Changes" >> $GITHUB_STEP_SUMMARY
|
|
251
351
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
252
352
|
echo "Documentation is already up to date. No pull request created." >> $GITHUB_STEP_SUMMARY
|
|
253
353
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
254
354
|
echo "**Version:** v${{ needs.publish.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
|
255
|
-
|
|
256
|
-
fi
|
|
355
|
+
fi
|
package/README.md
CHANGED
|
@@ -1,8 +1,72 @@
|
|
|
1
1
|
# Moon Banking MCP Server
|
|
2
2
|
|
|
3
|
-
The Moon Banking MCP server
|
|
3
|
+
Moon Banking is a global directory of consumer and business banks with structured, community-rated scores across 14 categories — customer service, fees & pricing, digital experience, crypto friendliness, security & trust, lending, business banking, international banking, transparency, and more. The Moon Banking MCP server exposes that entire dataset — every bank, country, score, vote, and user story — as live tools your AI agent can call, so answers about real-world banking are grounded in fresh Moon Banking data instead of stale training-set guesses.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Once connected, you can ask questions like *"which crypto-friendly banks operate in Brazil?"*, *"compare digital-experience scores for the top US challenger banks"*, or *"summarize recent user stories about fees at HSBC UK"* and get tool-grounded, citable answers backed by the same data that powers [moonbanking.com](https://moonbanking.com).
|
|
6
|
+
|
|
7
|
+
The server is generated from the public [OpenAPI specification](https://github.com/moonbanking/moonbanking-openapi) and ships as both a hosted OAuth endpoint at `https://mcp.moonbanking.com/mcp` and a stdio npm package (`@moonbanking/mcp-server`) — so you can connect it to Claude, Cursor, Grok, ChatGPT, VS Code, Windsurf, Zed, and any other [Model Context Protocol](https://modelcontextprotocol.io) client.
|
|
8
|
+
|
|
9
|
+
## Client-specific setup guides
|
|
10
|
+
|
|
11
|
+
If you just want to wire Moon Banking up to a specific client, jump straight to its guide. Each one covers both the hosted OAuth setup and the self-hosted stdio fallback.
|
|
12
|
+
|
|
13
|
+
| Client | Guide |
|
|
14
|
+
| --- | --- |
|
|
15
|
+
| Claude (Desktop & web) | [claude](./claude.md) |
|
|
16
|
+
| Claude Code | [claude-code](./claude-code.md) |
|
|
17
|
+
| Cursor | [cursor](./cursor.md) |
|
|
18
|
+
| Windsurf | [windsurf](./windsurf.md) |
|
|
19
|
+
| VS Code (GitHub Copilot) | [vscode](./vscode.md) |
|
|
20
|
+
| Zed | [zed](./zed.md) |
|
|
21
|
+
| ChatGPT | [chatgpt](./chatgpt.md) |
|
|
22
|
+
| Grok (xAI) | [grok](./grok.md) |
|
|
23
|
+
| MCP Inspector (testing) | [mcp-inspector](./mcp-inspector.md) |
|
|
24
|
+
|
|
25
|
+
The rest of this README covers the underlying authentication options and configuration shapes.
|
|
26
|
+
|
|
27
|
+
## Authentication
|
|
28
|
+
|
|
29
|
+
You can connect to Moon Banking over MCP using **either** of two auth methods:
|
|
30
|
+
|
|
31
|
+
| Method | Best for | API key required? |
|
|
32
|
+
| --- | --- | --- |
|
|
33
|
+
| **Hosted OAuth server** (recommended) | Claude, Cursor, Grok, ChatGPT, and any MCP client that supports remote/streamable HTTP MCP. Users sign in to Moon Banking in a browser — no key handling. | No |
|
|
34
|
+
| **Self-hosted stdio package** (this npm package) | Local scripts, agents, or clients that only support stdio MCP. | Yes |
|
|
35
|
+
|
|
36
|
+
Both methods expose the same tool surface; pick whichever matches your client.
|
|
37
|
+
|
|
38
|
+
## Hosted MCP server (OAuth)
|
|
39
|
+
|
|
40
|
+
URL: `https://mcp.moonbanking.com/mcp` (Streamable HTTP, OAuth 2.0 with Dynamic Client Registration).
|
|
41
|
+
|
|
42
|
+
Most modern MCP clients can connect by simply pointing at the URL — they will pop a browser window for the user to sign in to Moon Banking and obtain an access token automatically. No API key is exchanged or stored on the client side.
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"mcpServers": {
|
|
47
|
+
"moonbanking": {
|
|
48
|
+
"url": "https://mcp.moonbanking.com/mcp"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
For clients that don't yet speak remote MCP natively (eg. older ChatGPT configurations), the [`mcp-remote`](https://www.npmjs.com/package/mcp-remote) bridge can wrap the hosted endpoint as a stdio command:
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"mcpServers": {
|
|
59
|
+
"moonbanking": {
|
|
60
|
+
"command": "npx",
|
|
61
|
+
"args": ["-y", "mcp-remote", "https://mcp.moonbanking.com/mcp"]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Self-hosted (API key)
|
|
68
|
+
|
|
69
|
+
If you prefer to run the MCP server locally as a stdio process — for example to embed it in an automation that doesn't have a browser available for OAuth — install this npm package and authenticate with a Moon Banking API key.
|
|
6
70
|
|
|
7
71
|
### Direct invocation
|
|
8
72
|
|
|
@@ -34,22 +98,6 @@ For clients with a configuration JSON, it might look something like this:
|
|
|
34
98
|
}
|
|
35
99
|
```
|
|
36
100
|
|
|
37
|
-
### Cursor
|
|
38
|
-
|
|
39
|
-
If you use Cursor, you can install the MCP server by using the button below. You will need to set your environment variables
|
|
40
|
-
in Cursor's `mcp.json`, which can be found in Cursor Settings > Tools & MCP > New MCP Server.
|
|
41
|
-
|
|
42
|
-
[](https://cursor.com/en-US/install-mcp?name=moonbanking-mcp&config=eyJlbnYiOnsiTU9PTl9CQU5LSU5HX0FQSV9LRVkiOiJTZXQgeW91ciBNT09OX0JBTktJTkdfQVBJX0tFWSBoZXJlLiJ9LCJjb21tYW5kIjoibnB4IC15IEBtb29uYmFua2luZy9tY3Atc2VydmVyIn0%3D)
|
|
43
|
-
|
|
44
|
-
### Claude Code
|
|
45
|
-
|
|
46
|
-
If you use Claude Code, you can install the MCP server by running the command below in your terminal. You will need to set your
|
|
47
|
-
environment variables in Claude Code's `.claude.json`, which can be found in your home directory.
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
claude mcp add --transport stdio moonbanking_api --env MOON_BANKING_API_KEY="Your MOON_BANKING_API_KEY here." -- npx -y @moonbanking/mcp-server
|
|
51
|
-
```
|
|
52
|
-
|
|
53
101
|
## Filter Specific Tools
|
|
54
102
|
|
|
55
103
|
You can limit which tools are exposed by using the `--tool` flag:
|
package/chatgpt.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Moon Banking MCP for ChatGPT
|
|
2
|
+
|
|
3
|
+
> Add the Moon Banking MCP server to ChatGPT via Custom Connectors or a Custom GPT.
|
|
4
|
+
|
|
5
|
+
ChatGPT is great at fluent answers and weaker on fresh, structured facts about specific institutions. Adding the Moon Banking MCP as a Custom Connector gives ChatGPT live, tool-grounded access to every bank, country, community-rated score across 14 categories (customer service, fees & pricing, digital experience, crypto friendliness, security & trust, lending, transparency, and more), vote, and user story Moon Banking tracks.
|
|
6
|
+
|
|
7
|
+
Use it for everything from *"which crypto-friendly banks operate in Argentina?"* to *"compare the top three US challenger banks on fees and digital experience"* to *"summarize what users are saying about Wells Fargo's customer service this year"* — and get citable, data-grounded answers instead of generic summaries.
|
|
8
|
+
|
|
9
|
+
ChatGPT supports MCP through two distinct surfaces, and the right choice depends on your plan.
|
|
10
|
+
|
|
11
|
+
## Recommended: hosted (OAuth) via Custom Connectors
|
|
12
|
+
|
|
13
|
+
ChatGPT Plus, Pro, Team, Enterprise, and Edu users can add the Moon Banking server as a **Custom Connector** (the same mechanism that powers the official Notion, Gmail, etc. connectors).
|
|
14
|
+
|
|
15
|
+
1. Open ChatGPT → **Settings → Connectors → Custom Connectors → Add custom connector**.
|
|
16
|
+
2. Enter:
|
|
17
|
+
- **Name:** `Moon Banking`
|
|
18
|
+
- **URL:** `https://mcp.moonbanking.com/mcp`
|
|
19
|
+
3. Save. ChatGPT will open a browser tab to authenticate with Moon Banking. Approve.
|
|
20
|
+
4. In any chat, click the **+** button and enable the Moon Banking connector.
|
|
21
|
+
|
|
22
|
+
> Custom Connectors require a paid plan with Connectors enabled for your region. Availability may vary; check [help.openai.com](https://help.openai.com) for current rollout status.
|
|
23
|
+
|
|
24
|
+
## Alternative: stdio bridge for Custom GPTs / older setups
|
|
25
|
+
|
|
26
|
+
If your plan doesn't expose Custom Connectors, you can wrap the hosted endpoint with [`mcp-remote`](https://www.npmjs.com/package/mcp-remote) for any tooling that accepts stdio MCP (eg. a self-hosted ChatGPT-compatible agent):
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"mcpServers": {
|
|
31
|
+
"moonbanking": {
|
|
32
|
+
"command": "npx",
|
|
33
|
+
"args": ["-y", "mcp-remote", "https://mcp.moonbanking.com/mcp"]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
You can also run the stdio-only API-key package directly:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"mcpServers": {
|
|
44
|
+
"moonbanking-mcp": {
|
|
45
|
+
"command": "npx",
|
|
46
|
+
"args": ["-y", "@moonbanking/mcp-server"],
|
|
47
|
+
"env": {
|
|
48
|
+
"MOON_BANKING_API_KEY": "Bearer mb_sk_..."
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Verify the connection
|
|
56
|
+
|
|
57
|
+
Start a new chat and prompt:
|
|
58
|
+
|
|
59
|
+
> Use the Moon Banking connector to find banks in Singapore with strong fees and pricing scores.
|
|
60
|
+
|
|
61
|
+
## Troubleshooting
|
|
62
|
+
|
|
63
|
+
- **Connector option is missing.** Custom Connectors are gated by plan and region. Try the `mcp-remote` stdio bridge instead.
|
|
64
|
+
- **OAuth returns to a 404.** Make sure your ChatGPT browser session is logged in and that pop-ups are allowed for chatgpt.com.
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## Available tools
|
|
68
|
+
|
|
69
|
+
The Moon Banking MCP server exposes the following tools (identical across every client):
|
|
70
|
+
|
|
71
|
+
- `bank_getByHostname`
|
|
72
|
+
- `bank_get`
|
|
73
|
+
- `bank_getById`
|
|
74
|
+
- `bank_semanticSearch`
|
|
75
|
+
- `bankVote_get`
|
|
76
|
+
- `country_get`
|
|
77
|
+
- `country_getByCountryCode`
|
|
78
|
+
- `story_get`
|
|
79
|
+
- `story_getById`
|
|
80
|
+
- `world_getOverview`
|
|
81
|
+
- `search_get`
|
|
82
|
+
|
|
83
|
+
Full descriptions live on the [main MCP page](./README.md).
|
package/claude-code.md
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Moon Banking MCP for Claude Code
|
|
2
|
+
|
|
3
|
+
> Add the Moon Banking MCP server to the Claude Code CLI for use in terminal-driven coding sessions.
|
|
4
|
+
|
|
5
|
+
Claude Code is the right tool when you're scripting against APIs, automating data work, or hacking on a fintech backend without leaving your terminal. Adding the Moon Banking MCP gives the CLI agent live access to the entire Moon Banking dataset — banks, countries, community-rated scores across 14 categories (customer service, fees & pricing, digital experience, crypto friendliness, lending, transparency, …), user votes, user stories, and global rankings — over either the hosted OAuth endpoint or a local stdio process.
|
|
6
|
+
|
|
7
|
+
Typical uses: seeding a fintech database with realistic bank records, generating evaluation datasets that need real institutions, prototyping "find me a bank that…" features, or pausing mid-script to ask *"which US banks have the highest customer-service scores?"* without context-switching to a browser.
|
|
8
|
+
|
|
9
|
+
Claude Code is Anthropic's terminal CLI. It supports both **remote** (HTTP/Streamable HTTP) and **stdio** MCP transports.
|
|
10
|
+
|
|
11
|
+
## Recommended: hosted (OAuth)
|
|
12
|
+
|
|
13
|
+
Run this once in any directory:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
claude mcp add --transport http moonbanking https://mcp.moonbanking.com/mcp
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The first time you invoke a Moon Banking tool, Claude Code will print a one-time URL and ask you to authenticate in your browser. The resulting OAuth token is cached on disk and reused across sessions.
|
|
20
|
+
|
|
21
|
+
To install only for the current project (instead of globally), pass `--scope project`:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
claude mcp add --transport http --scope project moonbanking https://mcp.moonbanking.com/mcp
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The project-scoped config lives in `.claude.json` at the project root and can be committed to source control if you want every developer on the team to share it.
|
|
28
|
+
|
|
29
|
+
## Alternative: self-hosted (API key)
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
claude mcp add --transport stdio moonbanking \
|
|
33
|
+
--env MOON_BANKING_API_KEY="Bearer mb_sk_..." \
|
|
34
|
+
-- npx -y @moonbanking/mcp-server
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
This launches a local stdio MCP server that authenticates with your API key on every call.
|
|
38
|
+
|
|
39
|
+
## Verify the connection
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
claude mcp list
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
You should see `moonbanking` listed with a connection status of `connected`. Then start a session and try:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
> Find the highest-rated bank in Switzerland for crypto users.
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Troubleshooting
|
|
52
|
+
|
|
53
|
+
- **`Failed to authenticate`** Run `claude mcp remove moonbanking` and re-add to clear the cached token.
|
|
54
|
+
- **No tools available.** Run `claude mcp list` — if the server appears with a red status, run `claude mcp logs moonbanking` to inspect the error.
|
|
55
|
+
- **Pro plan required.** The MCP API rejects non-Pro Moon Banking accounts; [upgrade to Pro](https://moonbanking.com/pro).
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## Available tools
|
|
59
|
+
|
|
60
|
+
The Moon Banking MCP server exposes the following tools (identical across every client):
|
|
61
|
+
|
|
62
|
+
- `bank_getByHostname`
|
|
63
|
+
- `bank_get`
|
|
64
|
+
- `bank_getById`
|
|
65
|
+
- `bank_semanticSearch`
|
|
66
|
+
- `bankVote_get`
|
|
67
|
+
- `country_get`
|
|
68
|
+
- `country_getByCountryCode`
|
|
69
|
+
- `story_get`
|
|
70
|
+
- `story_getById`
|
|
71
|
+
- `world_getOverview`
|
|
72
|
+
- `search_get`
|
|
73
|
+
|
|
74
|
+
Full descriptions live on the [main MCP page](./README.md).
|
package/claude.md
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Moon Banking MCP for Claude
|
|
2
|
+
|
|
3
|
+
> Add the Moon Banking MCP server to Claude Desktop and claude.ai as a custom connector.
|
|
4
|
+
|
|
5
|
+
Claude is one of the strongest models for nuanced research and writing, and one of its biggest weak points is fresh, structured data about specific institutions. The Moon Banking MCP gives Claude live access to every bank, country, community-rated score across 14 categories (customer service, fees & pricing, digital experience, crypto friendliness, security & trust, lending, transparency, and more), vote, and user story in the Moon Banking database — so questions about real-world banks come back with citable, tool-grounded facts instead of generic training-data summaries.
|
|
6
|
+
|
|
7
|
+
Try *"draft a comparison of the three highest-rated digital banks in Germany, then tell me which has the best reviews on fees"*, *"summarize what users are saying about HSBC's customer service this year"*, or *"which banks in Brazil rank highest on crypto friendliness?"* — Claude will pull the data on demand and reason over it in-line.
|
|
8
|
+
|
|
9
|
+
Claude Desktop and claude.ai both support remote MCP servers as **custom connectors**. The hosted Moon Banking endpoint uses Streamable HTTP with OAuth, which both clients handle out of the box.
|
|
10
|
+
|
|
11
|
+
## Recommended: hosted (OAuth)
|
|
12
|
+
|
|
13
|
+
### Claude Desktop
|
|
14
|
+
|
|
15
|
+
1. Open **Settings → Connectors** (or **Settings → Developer → Add custom connector**, depending on your version).
|
|
16
|
+
2. Choose **Add custom connector**.
|
|
17
|
+
3. Set:
|
|
18
|
+
- **Name:** `Moon Banking`
|
|
19
|
+
- **URL:** `https://mcp.moonbanking.com/mcp`
|
|
20
|
+
4. Click **Add**. Claude will open a browser window asking you to sign in to Moon Banking. Approve the connection.
|
|
21
|
+
5. Back in Claude, toggle the **Moon Banking** connector on in any chat.
|
|
22
|
+
|
|
23
|
+
If you prefer to edit the config file directly, on macOS it lives at `~/Library/Application Support/Claude/claude_desktop_config.json`. On Windows it's `%APPDATA%\Claude\claude_desktop_config.json`:
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"mcpServers": {
|
|
28
|
+
"moonbanking": {
|
|
29
|
+
"url": "https://mcp.moonbanking.com/mcp"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Restart Claude Desktop after editing.
|
|
36
|
+
|
|
37
|
+
### claude.ai (web)
|
|
38
|
+
|
|
39
|
+
1. Sign in at [claude.ai](https://claude.ai) on a Pro, Team, or Enterprise plan (custom connectors require a paid plan).
|
|
40
|
+
2. Go to **Settings → Connectors → Add custom connector**.
|
|
41
|
+
3. Paste `https://mcp.moonbanking.com/mcp` and confirm.
|
|
42
|
+
4. Approve the OAuth prompt that opens.
|
|
43
|
+
|
|
44
|
+
## Alternative: self-hosted (API key)
|
|
45
|
+
|
|
46
|
+
If you need a stdio connection (eg. air-gapped use or a service account), Claude Desktop can spawn the published npm package locally. Add this to `claude_desktop_config.json`:
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"mcpServers": {
|
|
51
|
+
"moonbanking-mcp": {
|
|
52
|
+
"command": "npx",
|
|
53
|
+
"args": ["-y", "@moonbanking/mcp-server"],
|
|
54
|
+
"env": {
|
|
55
|
+
"MOON_BANKING_API_KEY": "Bearer mb_sk_..."
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Generate the API key at [moonbanking.com/settings/api/manage-api-keys](https://moonbanking.com/settings/api/manage-api-keys) and restart Claude.
|
|
63
|
+
|
|
64
|
+
## Verify the connection
|
|
65
|
+
|
|
66
|
+
Start a new conversation in Claude and ask:
|
|
67
|
+
|
|
68
|
+
> Using the Moon Banking connector, find banks in Brazil that are known for being crypto-friendly.
|
|
69
|
+
|
|
70
|
+
Claude should call tools like `bank_semanticSearch` or `country_getByCountryCode` and reply with real Moon Banking data.
|
|
71
|
+
|
|
72
|
+
## Troubleshooting
|
|
73
|
+
|
|
74
|
+
- **Connector shows as disconnected.** Click the connector in Settings and re-run the auth flow. If your access token expired Claude will need to re-authenticate.
|
|
75
|
+
- **`Tool list is empty`** Make sure your account has been granted Pro access at moonbanking.com. The MCP endpoint requires a Pro subscription.
|
|
76
|
+
- **Cannot add connector.** Claude.ai's custom connectors are gated to paid plans. Claude Desktop has fewer restrictions.
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
## Available tools
|
|
80
|
+
|
|
81
|
+
The Moon Banking MCP server exposes the following tools (identical across every client):
|
|
82
|
+
|
|
83
|
+
- `bank_getByHostname`
|
|
84
|
+
- `bank_get`
|
|
85
|
+
- `bank_getById`
|
|
86
|
+
- `bank_semanticSearch`
|
|
87
|
+
- `bankVote_get`
|
|
88
|
+
- `country_get`
|
|
89
|
+
- `country_getByCountryCode`
|
|
90
|
+
- `story_get`
|
|
91
|
+
- `story_getById`
|
|
92
|
+
- `world_getOverview`
|
|
93
|
+
- `search_get`
|
|
94
|
+
|
|
95
|
+
Full descriptions live on the [main MCP page](./README.md).
|
package/cursor.md
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Moon Banking MCP for Cursor
|
|
2
|
+
|
|
3
|
+
> Connect Cursor to the Moon Banking MCP server so the AI can query banks, countries, votes, and stories with one-click OAuth.
|
|
4
|
+
|
|
5
|
+
Cursor's agent is excellent at writing code but has no built-in knowledge of specific banks, their hostnames, fee structures, or how real customers rate them. Wiring in the Moon Banking MCP closes that gap: Cursor gains live access to every bank Moon Banking tracks — name, country, primary hostname, rank, community-rated scores across 14 categories (customer service, fees & pricing, digital experience, crypto friendliness, security & trust, lending, and more) — plus the user-submitted stories backing those scores.
|
|
6
|
+
|
|
7
|
+
Useful when you're scaffolding a fintech project, validating bank hostnames you see in code, generating realistic test fixtures, or just prompting *"find me a crypto-friendly business bank in Singapore and stub out a client for its public API"* mid-session. Answers are grounded in fresh Moon Banking data — not whatever your model memorized last year.
|
|
8
|
+
|
|
9
|
+
Cursor speaks remote MCP natively over Streamable HTTP. The fastest setup is to point Cursor at the hosted endpoint — Cursor handles the OAuth flow in a browser tab automatically.
|
|
10
|
+
|
|
11
|
+
## Recommended: hosted (OAuth)
|
|
12
|
+
|
|
13
|
+
### Option A — Click to install
|
|
14
|
+
|
|
15
|
+
[](cursor://anysphere.cursor-deeplink/mcp/install?name=moonbanking&config=eyJ1cmwiOiJodHRwczovL21jcC5tb29uYmFua2luZy5jb20vbWNwIn0%3D)
|
|
16
|
+
|
|
17
|
+
### Option B — Edit `mcp.json` directly
|
|
18
|
+
|
|
19
|
+
Open Cursor and go to **Settings → Tools & MCP → New MCP Server**, or edit your global config at `~/.cursor/mcp.json`:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"mcpServers": {
|
|
24
|
+
"moonbanking": {
|
|
25
|
+
"url": "https://mcp.moonbanking.com/mcp"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
For project-scoped install instead, drop the same JSON at `.cursor/mcp.json` inside your repository.
|
|
32
|
+
|
|
33
|
+
The first time Cursor connects, it will open a browser window asking you to sign in to Moon Banking. After that, the connection persists across restarts.
|
|
34
|
+
|
|
35
|
+
## Alternative: self-hosted (API key)
|
|
36
|
+
|
|
37
|
+
If you would rather run the MCP server locally as a stdio process (eg. you are on a machine without a browser, or you want to use a service API key), Cursor can spawn the published npm package.
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"mcpServers": {
|
|
42
|
+
"moonbanking-mcp": {
|
|
43
|
+
"command": "npx",
|
|
44
|
+
"args": ["-y", "@moonbanking/mcp-server"],
|
|
45
|
+
"env": {
|
|
46
|
+
"MOON_BANKING_API_KEY": "Bearer mb_sk_..."
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Generate an API key at [moonbanking.com/settings/api/manage-api-keys](https://moonbanking.com/settings/api/manage-api-keys).
|
|
54
|
+
|
|
55
|
+
## Verify the connection
|
|
56
|
+
|
|
57
|
+
Open the Cursor chat panel and look for the **MCP** indicator beside the model picker — it should show `moonbanking` with a green dot and the tool count. You can also ask the agent something like:
|
|
58
|
+
|
|
59
|
+
> What are the top three banks in Germany right now?
|
|
60
|
+
|
|
61
|
+
If it responds using the `bank_get` and `country_get` tools, the connection is working.
|
|
62
|
+
|
|
63
|
+
## Troubleshooting
|
|
64
|
+
|
|
65
|
+
- **Tools list is empty.** Cursor may have cached an unauthenticated session. Remove the entry from `mcp.json`, restart Cursor, and re-add it. If the issue persists, run `npx @modelcontextprotocol/inspector` against `https://mcp.moonbanking.com/mcp` to confirm the server is reachable from your network.
|
|
66
|
+
- **OAuth window closes immediately.** Make sure your default browser is signed in to Moon Banking, or sign in first at [moonbanking.com](https://moonbanking.com) and retry.
|
|
67
|
+
- **403 errors after sign-in.** Your Moon Banking account must be on a Pro plan to use the MCP API. [Upgrade to Pro](https://moonbanking.com/pro).
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## Available tools
|
|
71
|
+
|
|
72
|
+
The Moon Banking MCP server exposes the following tools (identical across every client):
|
|
73
|
+
|
|
74
|
+
- `bank_getByHostname`
|
|
75
|
+
- `bank_get`
|
|
76
|
+
- `bank_getById`
|
|
77
|
+
- `bank_semanticSearch`
|
|
78
|
+
- `bankVote_get`
|
|
79
|
+
- `country_get`
|
|
80
|
+
- `country_getByCountryCode`
|
|
81
|
+
- `story_get`
|
|
82
|
+
- `story_getById`
|
|
83
|
+
- `world_getOverview`
|
|
84
|
+
- `search_get`
|
|
85
|
+
|
|
86
|
+
Full descriptions live on the [main MCP page](./README.md).
|
package/grok.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Moon Banking MCP for Grok
|
|
2
|
+
|
|
3
|
+
> Add the Moon Banking MCP server to Grok (xAI) as a custom connector.
|
|
4
|
+
|
|
5
|
+
Grok is built around live, current information — and the Moon Banking MCP fits that wheelhouse cleanly. Once added as a connector, Grok can query the Moon Banking dataset on demand — every bank, country, community-rated score across 14 categories (customer service, fees & pricing, digital experience, crypto friendliness, security & trust, lending, transparency, …), vote, and user story — and combine it with the real-time signal Grok already pulls from X and the open web.
|
|
6
|
+
|
|
7
|
+
Try *"which European banks rank highest on crypto friendliness right now, and what are people saying about them on X?"*, *"compare digital-experience scores across the top five US online banks"*, or *"what are users saying about Revolut's fees lately?"* — Grok will weave Moon Banking's structured data together with whatever it finds in the wild.
|
|
8
|
+
|
|
9
|
+
Grok supports remote MCP servers via **Connectors**, available in the xAI Console and inside grok.com for Grok 4 and newer.
|
|
10
|
+
|
|
11
|
+
## Recommended: hosted (OAuth)
|
|
12
|
+
|
|
13
|
+
1. Go to [grok.com](https://grok.com) (or the xAI Console) and open **Settings → Connectors**.
|
|
14
|
+
2. Choose **Add custom connector** (or **Add MCP server**, depending on your build).
|
|
15
|
+
3. Enter:
|
|
16
|
+
- **Name:** `Moon Banking`
|
|
17
|
+
- **URL:** `https://mcp.moonbanking.com/mcp`
|
|
18
|
+
4. Approve the OAuth prompt that opens in your browser.
|
|
19
|
+
5. In any chat, enable the Moon Banking connector from the input toolbar.
|
|
20
|
+
|
|
21
|
+
## Alternative: stdio bridge
|
|
22
|
+
|
|
23
|
+
For environments without a Connectors UI (eg. local Grok-compatible agents, self-hosted setups, or API-key-based access), use the stdio package or wrap the hosted URL with `mcp-remote`:
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"mcpServers": {
|
|
28
|
+
"moonbanking": {
|
|
29
|
+
"command": "npx",
|
|
30
|
+
"args": ["-y", "mcp-remote", "https://mcp.moonbanking.com/mcp"]
|
|
31
|
+
},
|
|
32
|
+
"moonbanking-apikey": {
|
|
33
|
+
"command": "npx",
|
|
34
|
+
"args": ["-y", "@moonbanking/mcp-server"],
|
|
35
|
+
"env": {
|
|
36
|
+
"MOON_BANKING_API_KEY": "Bearer mb_sk_..."
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Verify the connection
|
|
44
|
+
|
|
45
|
+
In Grok, prompt:
|
|
46
|
+
|
|
47
|
+
> Using the Moon Banking connector, list five banks in the US that rank highly on customer service.
|
|
48
|
+
|
|
49
|
+
## Troubleshooting
|
|
50
|
+
|
|
51
|
+
- **Connectors panel is missing.** Custom MCP connectors are a Grok 4 / SuperGrok feature. Older Grok versions don't support them.
|
|
52
|
+
- **OAuth fails silently.** Try the flow in a private/incognito window; some browser extensions interfere with OAuth callbacks.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## Available tools
|
|
56
|
+
|
|
57
|
+
The Moon Banking MCP server exposes the following tools (identical across every client):
|
|
58
|
+
|
|
59
|
+
- `bank_getByHostname`
|
|
60
|
+
- `bank_get`
|
|
61
|
+
- `bank_getById`
|
|
62
|
+
- `bank_semanticSearch`
|
|
63
|
+
- `bankVote_get`
|
|
64
|
+
- `country_get`
|
|
65
|
+
- `country_getByCountryCode`
|
|
66
|
+
- `story_get`
|
|
67
|
+
- `story_getById`
|
|
68
|
+
- `world_getOverview`
|
|
69
|
+
- `search_get`
|
|
70
|
+
|
|
71
|
+
Full descriptions live on the [main MCP page](./README.md).
|
package/mcp-inspector.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Moon Banking MCP for MCP Inspector
|
|
2
|
+
|
|
3
|
+
> Test the Moon Banking MCP server with Anthropic's MCP Inspector before wiring it into a client.
|
|
4
|
+
|
|
5
|
+
MCP Inspector is the sanity check before plugging Moon Banking into Claude, Cursor, Grok, ChatGPT, or anywhere else. Point it at the hosted endpoint and you can see the full Moon Banking tool surface (11 tools across banks, countries, votes, stories, semantic search, and global overview), invoke each one with real arguments, and verify the OAuth flow works end-to-end — all before you commit a single line to a real client's config.
|
|
6
|
+
|
|
7
|
+
It's also the easiest way to confirm a new MCP client implementation you're building yourself supports Streamable HTTP plus OAuth with Dynamic Client Registration correctly: if Moon Banking works in the Inspector but not in your client, the difference is on your end, not the server's.
|
|
8
|
+
|
|
9
|
+
[MCP Inspector](https://github.com/modelcontextprotocol/inspector) is the official debugger for MCP servers. Use it when you're integrating Moon Banking into a new client and want to verify that the OAuth flow and tool surface behave as expected.
|
|
10
|
+
|
|
11
|
+
## Run the inspector
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx @modelcontextprotocol/inspector
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
A browser window opens at [http://localhost:6274](http://localhost:6274).
|
|
18
|
+
|
|
19
|
+
## Connect to the hosted server
|
|
20
|
+
|
|
21
|
+
1. **Transport:** `Streamable HTTP`
|
|
22
|
+
2. **Server URL:** `https://mcp.moonbanking.com/mcp`
|
|
23
|
+
3. Click **Connect**. The inspector will detect that the server requires OAuth, open a browser tab to authenticate with Moon Banking, and bring you back once you approve.
|
|
24
|
+
4. In the **Tools** tab, you should see every Moon Banking tool. Click any of them, fill in arguments, and invoke them live.
|
|
25
|
+
|
|
26
|
+
## Connect to the self-hosted stdio server
|
|
27
|
+
|
|
28
|
+
If you're testing the API-key package, run the inspector against the local stdio process:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
MOON_BANKING_API_KEY="Bearer mb_sk_..." \
|
|
32
|
+
npx @modelcontextprotocol/inspector npx -y @moonbanking/mcp-server
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## What to look for
|
|
36
|
+
|
|
37
|
+
- **Tools tab populated** — confirms the server is serving the tool list.
|
|
38
|
+
- **Successful tool call** — confirms upstream API auth is working.
|
|
39
|
+
- **Resources / Prompts tabs empty** — expected; Moon Banking exposes tools only.
|
|
40
|
+
|
|
41
|
+
If the inspector shows `401 Unauthorized` or `403 Forbidden`, refer to the troubleshooting sections of the client-specific pages; the root cause is usually a Moon Banking account that isn't on the Pro plan, or a stale OAuth token in the inspector's cache (clear it with the **Disconnect** button).
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## Available tools
|
|
45
|
+
|
|
46
|
+
The Moon Banking MCP server exposes the following tools (identical across every client):
|
|
47
|
+
|
|
48
|
+
- `bank_getByHostname`
|
|
49
|
+
- `bank_get`
|
|
50
|
+
- `bank_getById`
|
|
51
|
+
- `bank_semanticSearch`
|
|
52
|
+
- `bankVote_get`
|
|
53
|
+
- `country_get`
|
|
54
|
+
- `country_getByCountryCode`
|
|
55
|
+
- `story_get`
|
|
56
|
+
- `story_getById`
|
|
57
|
+
- `world_getOverview`
|
|
58
|
+
- `search_get`
|
|
59
|
+
|
|
60
|
+
Full descriptions live on the [main MCP page](./README.md).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moonbanking/mcp-server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "# Welcome to the Moon Banking API!\n\nEnjoy the documentation and happy coding. Share this spec with your LLM of choice to speed up your development, or take a look at our MCP server and various SDKs.\n\n### More information\n\nFor more information about the Moon Banking API, please visit the [Moon Banking Documentation](https://docs.moonbanking.com).",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
package/vscode.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Moon Banking MCP for VS Code
|
|
2
|
+
|
|
3
|
+
> Connect VS Code (with GitHub Copilot Chat MCP support) to the Moon Banking MCP server.
|
|
4
|
+
|
|
5
|
+
GitHub Copilot's MCP support turns VS Code into a coding agent that can talk to live external data — not just whatever was in its training set. With the Moon Banking MCP plugged in, Copilot can answer questions about specific banks while you code: names, hostnames, country rank, community-rated scores across 14 categories (customer service, fees & pricing, digital experience, crypto friendliness, lending, …), and the user stories behind those scores.
|
|
6
|
+
|
|
7
|
+
Useful when you're integrating with a bank's API, validating hostnames in code, shipping a feature that displays real bank ratings, or just asking *"which banks in Mexico score highest on digital experience?"* in the middle of a session — Copilot will route the question through the MCP server and reply with citable data.
|
|
8
|
+
|
|
9
|
+
Recent versions of VS Code expose MCP servers to GitHub Copilot Chat via an `mcp.json` configuration. Both remote HTTP and stdio transports are supported.
|
|
10
|
+
|
|
11
|
+
## Recommended: hosted (OAuth)
|
|
12
|
+
|
|
13
|
+
Create `.vscode/mcp.json` in your workspace (or the user-level equivalent) and add:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"servers": {
|
|
18
|
+
"moonbanking": {
|
|
19
|
+
"type": "http",
|
|
20
|
+
"url": "https://mcp.moonbanking.com/mcp"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Reload the window. The first time Copilot Chat invokes a Moon Banking tool, VS Code will pop a notification asking you to authenticate in your browser. After approval, the connection is reused for the rest of the session.
|
|
27
|
+
|
|
28
|
+
## Alternative: self-hosted (API key)
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"servers": {
|
|
33
|
+
"moonbanking-mcp": {
|
|
34
|
+
"type": "stdio",
|
|
35
|
+
"command": "npx",
|
|
36
|
+
"args": ["-y", "@moonbanking/mcp-server"],
|
|
37
|
+
"env": {
|
|
38
|
+
"MOON_BANKING_API_KEY": "Bearer mb_sk_..."
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Verify the connection
|
|
46
|
+
|
|
47
|
+
Open Copilot Chat and ask:
|
|
48
|
+
|
|
49
|
+
> @workspace Using the Moon Banking MCP, find me three banks in France that score highly on digital experience.
|
|
50
|
+
|
|
51
|
+
If the tools are connected, Copilot will reply with tool-call traces visible in the chat view.
|
|
52
|
+
|
|
53
|
+
## Troubleshooting
|
|
54
|
+
|
|
55
|
+
- **VS Code doesn't see the config.** Confirm you are on a recent version of VS Code (MCP support shipped in late 2025 / 2026). Older versions don't honor `mcp.json`.
|
|
56
|
+
- **Auth never completes.** Make sure VS Code is allowed to open external URLs (`window.openUrl` setting). Corporate proxies may block the OAuth callback.
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
## Available tools
|
|
60
|
+
|
|
61
|
+
The Moon Banking MCP server exposes the following tools (identical across every client):
|
|
62
|
+
|
|
63
|
+
- `bank_getByHostname`
|
|
64
|
+
- `bank_get`
|
|
65
|
+
- `bank_getById`
|
|
66
|
+
- `bank_semanticSearch`
|
|
67
|
+
- `bankVote_get`
|
|
68
|
+
- `country_get`
|
|
69
|
+
- `country_getByCountryCode`
|
|
70
|
+
- `story_get`
|
|
71
|
+
- `story_getById`
|
|
72
|
+
- `world_getOverview`
|
|
73
|
+
- `search_get`
|
|
74
|
+
|
|
75
|
+
Full descriptions live on the [main MCP page](./README.md).
|
package/windsurf.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Moon Banking MCP for Windsurf
|
|
2
|
+
|
|
3
|
+
> Connect Windsurf (Codeium Cascade) to the Moon Banking MCP server.
|
|
4
|
+
|
|
5
|
+
Windsurf's Cascade agent is built for long-running, multi-file coding tasks — exactly where having reliable external data matters. Wire in the Moon Banking MCP and Cascade gains live access to the entire Moon Banking dataset (banks, countries, community-rated scores across 14 categories, votes, user stories), so when your agent needs to know about a real bank — its hostname, country rank, crypto-friendliness score, or what users say about its fees — it asks instead of guessing.
|
|
6
|
+
|
|
7
|
+
Useful for building banking-aware features, generating realistic test fixtures across an entire repo, or simply prompting *"find a crypto-friendly digital bank in Portugal and scaffold a project that integrates with its public services"* while Cascade does the heavy lifting.
|
|
8
|
+
|
|
9
|
+
Windsurf's Cascade agent supports MCP via its `mcp_config.json` file. Both remote (HTTP) and stdio transports work.
|
|
10
|
+
|
|
11
|
+
## Recommended: hosted (OAuth)
|
|
12
|
+
|
|
13
|
+
Edit (or create) the global Windsurf config at `~/.codeium/windsurf/mcp_config.json`:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"mcpServers": {
|
|
18
|
+
"moonbanking": {
|
|
19
|
+
"serverUrl": "https://mcp.moonbanking.com/mcp"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Restart Windsurf. The first request to a Moon Banking tool will trigger an OAuth flow in your browser. After approval, the tools become available to Cascade.
|
|
26
|
+
|
|
27
|
+
## Alternative: self-hosted (API key)
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"mcpServers": {
|
|
32
|
+
"moonbanking-mcp": {
|
|
33
|
+
"command": "npx",
|
|
34
|
+
"args": ["-y", "@moonbanking/mcp-server"],
|
|
35
|
+
"env": {
|
|
36
|
+
"MOON_BANKING_API_KEY": "Bearer mb_sk_..."
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Verify the connection
|
|
44
|
+
|
|
45
|
+
Open Cascade and click the MCP toolbar icon — `moonbanking` should appear in the list along with its tools. Then ask:
|
|
46
|
+
|
|
47
|
+
> List the top five banks in Japan by user rating.
|
|
48
|
+
|
|
49
|
+
## Troubleshooting
|
|
50
|
+
|
|
51
|
+
- **Server not detected.** Confirm Windsurf is reading the right config file: open **Cascade Settings → MCP** and verify the path it shows.
|
|
52
|
+
- **Auth window won't open.** Some Linux distributions require a default browser to be configured (`xdg-settings set default-web-browser ...`).
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## Available tools
|
|
56
|
+
|
|
57
|
+
The Moon Banking MCP server exposes the following tools (identical across every client):
|
|
58
|
+
|
|
59
|
+
- `bank_getByHostname`
|
|
60
|
+
- `bank_get`
|
|
61
|
+
- `bank_getById`
|
|
62
|
+
- `bank_semanticSearch`
|
|
63
|
+
- `bankVote_get`
|
|
64
|
+
- `country_get`
|
|
65
|
+
- `country_getByCountryCode`
|
|
66
|
+
- `story_get`
|
|
67
|
+
- `story_getById`
|
|
68
|
+
- `world_getOverview`
|
|
69
|
+
- `search_get`
|
|
70
|
+
|
|
71
|
+
Full descriptions live on the [main MCP page](./README.md).
|
package/zed.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Moon Banking MCP for Zed
|
|
2
|
+
|
|
3
|
+
> Connect the Zed editor to the Moon Banking MCP server via Context Servers.
|
|
4
|
+
|
|
5
|
+
Zed's AI assistant is fast and stays out of your way — exactly what you want when you're moving through code. Connecting the Moon Banking MCP gives that assistant live access to the Moon Banking dataset: every bank, country, community-rated score across 14 categories (customer service, fees & pricing, digital experience, crypto friendliness, lending, …), vote, and user story. Questions about real banks come back with real data, with no perceptible latency hit on the rest of your workflow.
|
|
6
|
+
|
|
7
|
+
Useful for scaffolding fintech projects, generating realistic test data, or just pulling up *"the five highest-rated business banks in Canada"* or *"which European banks have the best digital experience scores?"* without leaving the editor.
|
|
8
|
+
|
|
9
|
+
Zed exposes MCP servers to its built-in AI assistant as **Context Servers**. Configure them in `~/.config/zed/settings.json` (or **Zed → Settings → Open settings**).
|
|
10
|
+
|
|
11
|
+
## Recommended: hosted (OAuth)
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"context_servers": {
|
|
16
|
+
"moonbanking": {
|
|
17
|
+
"command": "npx",
|
|
18
|
+
"args": ["-y", "mcp-remote", "https://mcp.moonbanking.com/mcp"]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Zed's Context Servers currently expect a stdio command, so we wrap the hosted endpoint with [`mcp-remote`](https://www.npmjs.com/package/mcp-remote) — a tiny bridge that proxies stdio to remote Streamable HTTP and handles the OAuth flow in a browser tab.
|
|
25
|
+
|
|
26
|
+
After saving, restart Zed. The first request to a Moon Banking tool opens a browser window for sign-in.
|
|
27
|
+
|
|
28
|
+
## Alternative: self-hosted (API key)
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"context_servers": {
|
|
33
|
+
"moonbanking-mcp": {
|
|
34
|
+
"command": "npx",
|
|
35
|
+
"args": ["-y", "@moonbanking/mcp-server"],
|
|
36
|
+
"env": {
|
|
37
|
+
"MOON_BANKING_API_KEY": "Bearer mb_sk_..."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Verify the connection
|
|
45
|
+
|
|
46
|
+
Open the Zed AI panel. The **Context Servers** section in the side panel should list `moonbanking` along with its tool count. Then ask:
|
|
47
|
+
|
|
48
|
+
> Using Moon Banking, what are the most highly-rated banks in Brazil?
|
|
49
|
+
|
|
50
|
+
## Troubleshooting
|
|
51
|
+
|
|
52
|
+
- **`mcp-remote` is slow on first run.** It downloads on first invocation. Subsequent runs are cached.
|
|
53
|
+
- **Auth never completes.** Confirm that `localhost` is reachable from your browser — `mcp-remote` uses a local callback port (`http://127.0.0.1:6274` by default).
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
## Available tools
|
|
57
|
+
|
|
58
|
+
The Moon Banking MCP server exposes the following tools (identical across every client):
|
|
59
|
+
|
|
60
|
+
- `bank_getByHostname`
|
|
61
|
+
- `bank_get`
|
|
62
|
+
- `bank_getById`
|
|
63
|
+
- `bank_semanticSearch`
|
|
64
|
+
- `bankVote_get`
|
|
65
|
+
- `country_get`
|
|
66
|
+
- `country_getByCountryCode`
|
|
67
|
+
- `story_get`
|
|
68
|
+
- `story_getById`
|
|
69
|
+
- `world_getOverview`
|
|
70
|
+
- `search_get`
|
|
71
|
+
|
|
72
|
+
Full descriptions live on the [main MCP page](./README.md).
|