1. Conduid
  2. Developer Tools
  3. Paidmcp
MCP server · Developer Tools

Paidmcp

Charge agents to access your MCP Server tools

Unclaimed Apache-2.0 last commit a year ago devtools
54Fair

Scored 2 days ago · breakdown

About Paidmcp

Paidmcp is an MCP server published by getAlby in the Developer Tools category: charge agents to access your MCP Server tools. It has been installed 0 times through Conduid.

The repository has 16 stars and 2 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx paidmcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Paidmcp

Powered by Claude · Grounded in docs

I know everything about Paidmcp. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.0.3v1.0.3 · 9 Jul 2025What's Changed fix: allow non-optional output schema properties by @rolznz in https://github.com/getAlby/paidmcp/pull/3 Full Changelog**: https://github.com/getAlby/paidmcp/compare/v1.0.2...v1.0.3
v1.0.2v1.0.2 · 9 Jul 2025What's Changed fix: make charge callback async by @rolznz in https://github.com/getAlby/paidmcp/pull/2 Full Changelog**: https://github.com/getAlby/paidmcp/compare/v1.0.1...v1.0.2
v1.0.1v1.0.1 · 9 Jul 2025What's Changed fix: charge callback typings by @rolznz in https://github.com/getAlby/paidmcp/pull/1 New Contributors @rolznz made their first contribution in https://github.com/getAlby/paidmcp/pull/1 Full Changelog**:…

README

PaidMCP - Charge Bitcoin For MCP Server Tools

Receive lightning payments for each tool request, powered by NWC.

In a few lines of code, turn your modelcontextprotocol/sdk MCP Server tool into a paid tool:

- const server = new McpServer({name: "your-mcp-server"});
+ const server = new PaidMcpServer({name: "your mcp server"}, {nwcUrl, storage});
- server.registerTool(name, config, callback);
+ server.registerPaidTool(name, config, charge, callback);

Why use PaidMCP

Instead of using the Cloudflare Stripe MCP Boilerplate which is difficult to setup, high fees and chargeback risks, you can accept payments easily and instantly from anyone in the world, without fees. This is made possible by the bitcoin lightning network.

Get started

Try an example Paid MCP

If your agent supports remote MCP servers - HTTP Streamable transports or SSE (e.g. N8N), you can connect to Alby's MCP server:

  • HTTP Streamable: https://weather-mcp.fly.dev/mcp
  • SSE (Deprecated): https://weather-mcp.fly.dev/sse

Then ask: "What's the weather in Berlin?"

Make sure to also install Alby MCP to allow your agent to make the payment.

Install

npm install @getalby/paidmcp

or

yarn add @getalby/paidmcp

Import and use PaidMcpServer

PaidMcpServer is a thin wrapper around the standard McpServer class that adds ability to create paid tools.

This MCP requires an NWC-enabled lightning wallet to be able to charge payments. NWC is an open protocol for connecting apps to lightning wallets. If you don't have a NWC-enabled lightning wallet yet, try Alby Hub.

import { PaidMcpServer, MemoryStorage } from "@getalby/paidmcp";

// Configure your NWC URL - should be "nostr+walletconnect://..."
const nwcUrl = process.env.NWC_URL;
// Configure storage of unused paid tool requests
const storage = new MemoryStorage();
// use PaidMcpServer instead of McpServer
const server = new PaidMcpServer(
  { name: "your-mcp-server" },
  { nwcUrl, storage }
);

// for paid tools, use registerPaidTool
// it requires an additional argument before the callback
// to configure charging information based on the request
server.registerPaidTool(
  name,
  config,
  (args) => ({ satoshi: 1, description: "Paid tool usage: " + args.city }),
  callback
);

Powered by PaidMCP

Examples

How it works

For a simple example we have a paid weather MCP - that you can fetch the weather for a city by paying a small fee.

{
  "city": "Berlin"
}

Some additional parameters are injected into the tool request and response. If a paid tool is requested without a payment hash, the following response will be returned:

the required payment amount and description can be configured per-request.

{
  "payment_instructions": "Payment required. Pay the payment_request and try the same request again with the payment_hash set to continue.",
  "payment_request": "lnbc...",
  "payment_hash": "2b3e38cff2ab0172d28e004931938c09a19b3e81a2054c3b46ac087ec3bc30b3"
}

Once the payment is made by the human or their agent (this can be done with Alby MCP), the agent will request the same tool again, this time providing the payment_hash along with the request:

{
  "city": "Berlin",
  "payment_hash": "2b3e38cff2ab0172d28e004931938c09a19b3e81a2054c3b46ac087ec3bc30b3"
}

The MCP server will then execute the actual tool callback as normal.

{
  "temperature_celcius": "27.4"
}

README mirrored from the source repository 2 days ago. The original is authoritative.

Questions

About Paidmcp

How do I install Paidmcp?

Run npx paidmcp, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Paidmcp safe to use with an AI agent?

Its trust score is 54 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Paidmcp still maintained?

The last commit was a year ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.