npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@moonbanking/mcp-server

v1.5.1

Published

# Welcome to the Moon Banking API! Enjoy 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. ### More information For more information about the Mo

Downloads

253

Readme

Moon Banking MCP Server

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.

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.

The server is generated from the public OpenAPI specification 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 client.

Client-specific setup guides

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.

| Client | Guide | | --- | --- | | Claude (Desktop & web) | claude | | Claude Code | claude-code | | Cursor | cursor | | Windsurf | windsurf | | VS Code (GitHub Copilot) | vscode | | Zed | zed | | ChatGPT | chatgpt | | Grok (xAI) | grok | | MCP Inspector (testing) | mcp-inspector |

The rest of this README covers the underlying authentication options and configuration shapes.

Authentication

You can connect to Moon Banking over MCP using either of two auth methods:

| Method | Best for | API key required? | | --- | --- | --- | | 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 | | Self-hosted stdio package (this npm package) | Local scripts, agents, or clients that only support stdio MCP. | Yes |

Both methods expose the same tool surface; pick whichever matches your client.

Hosted MCP server (OAuth)

URL: https://mcp.moonbanking.com/mcp (Streamable HTTP, OAuth 2.0 with Dynamic Client Registration).

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.

{
  "mcpServers": {
    "moonbanking": {
      "url": "https://mcp.moonbanking.com/mcp"
    }
  }
}

For clients that don't yet speak remote MCP natively (eg. older ChatGPT configurations), the mcp-remote bridge can wrap the hosted endpoint as a stdio command:

{
  "mcpServers": {
    "moonbanking": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.moonbanking.com/mcp"]
    }
  }
}

Self-hosted (API key)

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.

Direct invocation

You can run the MCP Server directly via npx:

export MOON_BANKING_API_KEY="Bearer mb_sk_..."
npx -y @moonbanking/mcp-server

Via MCP Client

There is a partial list of existing clients at modelcontextprotocol.io. If you already have a client, consult their documentation to install the MCP server.

For clients with a configuration JSON, it might look something like this:

{
  "mcpServers": {
    "moonbanking-mcp": {
      "command": "npx",
      "args": ["-y", "@moonbanking/mcp-server"],
      "env": {
        "MOON_BANKING_API_KEY": "Bearer mb_sk_..."
      }
    }
  }
}

Filter Specific Tools

You can limit which tools are exposed by using the --tool flag:

npx @moonbanking/mcp-server --tool=tool1 --tool=tool2

Available Tools

  • bank_getByHostname: This endpoint allows you to retrieve banks by hostname. It will return up to one bank per country that matches the provided hostname. The hostname is normalized (www. prefix removed if present) and matched against both the primary hostname and alternative hostnames.
  • bank_get: This endpoint allows you to retrieve a paginated list of all banks. By default, a maximum of ten banks are shown per page. You can search banks by name, filter by country, sort them by various fields, and include related data like scores and country information.
  • bank_getById: This endpoint allows you to retrieve a specific bank by providing the bank ID. You can include related data like scores and country information in the response.
  • bank_semanticSearch: Search for banks by describing what you are looking for in natural language. This searches across bank descriptions including services offered, history, location, unique features, and institution type. Use this when the user asks about banks with specific characteristics, services, or qualities.
  • bankVote_get: This endpoint allows you to retrieve a paginated list of bank votes. You can filter by bank ID, category, country, vote type (upvote or downvote), and other parameters.
  • country_get: This endpoint allows you to retrieve a paginated list of all countries. By default, a maximum of ten countries are shown per page. You can search countries by name or 2-letter code, sort them by various fields, and include related data like scores.
  • country_getByCountryCode: This endpoint allows you to retrieve a specific country by providing the 2-letter ISO country code. You can include related data like scores in the response.
  • story_get: This endpoint allows you to retrieve a paginated list of all stories. By default, a maximum of ten stories are shown per page. You can search stories by text content, filter by bank ID, sort them by various fields, and include related data like bank and country information.
  • story_getById: This endpoint allows you to retrieve a specific story by providing the story ID. You can include related data like bank and country information in the response.
  • world_getOverview: This endpoint allows you to retrieve global overview data that aggregates banks votes, stories and other data across all banks in all countries. You can include related data like scores in the response.
  • search_get: Search across banks, countries, and stories. You can specify which entities to search using the include parameter. If no include value is provided, all entities will be searched.

License

MIT