AStheTECH/mewcp-stripe
Project Overview
MewCP Stripe MCP Server
An MCP server that exposes Stripe's payment API as tools callable by AI assistants.
True Intent (AI Assessment)
Expose Stripe's payment, customer, and subscription APIs as MCP tools so AI assistants can perform billing operations.
README Accuracy
Notes
Code matches README claims. Stripe API keys are passed as tool arguments; ensure transport is trusted. Duplicate/misspelled license file (LICIENCE.md) is a minor cleanup issue.
This is a Model Context Protocol (MCP) server written in Python that wraps the Stripe REST API. It uses the FastMCP framework to register a set of tools (create customer, charge, payment intent, product, price, subscription, balance, etc.) that AI assistants like Claude can invoke via natural language. Each tool accepts a Stripe API key as a parameter and forwards HTTP requests to api.stripe.com.
The problem it addresses is bridging LLM-based assistants with Stripe's payment infrastructure. Without a server like this, an AI agent has no structured way to create customers, issue charges, or manage subscriptions on Stripe. The MCP tools expose a discoverable, typed interface so the agent can perform billing operations conversationally.
Intended users are developers building AI-driven billing workflows or operators who want to look up Stripe data, provision subscriptions, and check balances through an AI assistant. It appears to be part of a hosted 'MewCP' / 'Curious Layer' platform (based on README references to X-Mewcp-Credential-Id headers and credit-based billing), suggesting it can be either self-hosted or consumed via that platform.
Architecturally, server.py boots a FastMCP instance and exposes both an ASGI app (for hosting on Vercel-style Python runtimes) and stdio/SSE/streamable-http transports via a CLI. tools.py defines the MCP tool functions, service.py contains a StripeClient using httpx.AsyncClient with Bearer auth and form-encoded bodies (matching Stripe's API conventions), schemas.py holds TypedDict definitions, and config.py centralizes endpoint paths. The API key is passed per-request rather than stored server-side.
Notable observations: the repo contains both LICENSE.md and a misspelled LICIENCE.md (harmless typo). The API key is accepted as a tool parameter, meaning any client invoking the tool must supply a live Stripe secret key — reasonable for MCP but callers should be aware secrets flow through the tool arguments. No malicious behavior detected; the code only makes documented calls to api.stripe.com.
| Languages | Python |
| Runtime | Python 3.10+ |
| Framework | FastMCP (Model Context Protocol) |
| Database | None (stateless; Stripe is the system of record) |
| Package Manager | pip |
| Key Dependencies | fastmcp, httpx, pydantic, typing-extensions, python-dotenv |
| Build Tool | None |
| Test Framework | None detected |