paybito-mcp 0.1.0__tar.gz

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.
Files changed (41) hide show
  1. paybito_mcp-0.1.0/.gitignore +29 -0
  2. paybito_mcp-0.1.0/PKG-INFO +149 -0
  3. paybito_mcp-0.1.0/README.md +137 -0
  4. paybito_mcp-0.1.0/pyproject.toml +32 -0
  5. paybito_mcp-0.1.0/specs/build-your-exchange-app.yaml +20257 -0
  6. paybito_mcp-0.1.0/specs/build-your-exchange.yaml +37692 -0
  7. paybito_mcp-0.1.0/specs/build-your-launch-app.yaml +18721 -0
  8. paybito_mcp-0.1.0/specs/build-your-payment-app.yaml +10146 -0
  9. paybito_mcp-0.1.0/specs/exchange.yaml +29444 -0
  10. paybito_mcp-0.1.0/specs/payments.yaml +12308 -0
  11. paybito_mcp-0.1.0/src/paybito_mcp/__init__.py +7 -0
  12. paybito_mcp-0.1.0/src/paybito_mcp/build.py +54 -0
  13. paybito_mcp-0.1.0/src/paybito_mcp/corpus.py +287 -0
  14. paybito_mcp-0.1.0/src/paybito_mcp/data/model.json +63648 -0
  15. paybito_mcp-0.1.0/src/paybito_mcp/model.py +113 -0
  16. paybito_mcp-0.1.0/src/paybito_mcp/normalize.py +476 -0
  17. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/build-your-platform.md +28 -0
  18. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/cart-sdk.md +23 -0
  19. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/crypto-banking.md +25 -0
  20. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/custom-checkout.md +25 -0
  21. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/futures-options.md +22 -0
  22. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/nft-marketplace.md +18 -0
  23. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/opencart.md +27 -0
  24. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/p2p.md +17 -0
  25. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/payment-button.md +45 -0
  26. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/recurring-billing.md +22 -0
  27. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/spot-trading.md +40 -0
  28. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/web3-wallet.md +19 -0
  29. paybito_mcp-0.1.0/src/paybito_mcp/playbooks/woocommerce.md +49 -0
  30. paybito_mcp-0.1.0/src/paybito_mcp/playbooks.py +30 -0
  31. paybito_mcp-0.1.0/src/paybito_mcp/server.py +195 -0
  32. paybito_mcp-0.1.0/tests/test_paybito.py +127 -0
  33. paybito_mcp-0.1.0/typescript/README.md +46 -0
  34. paybito_mcp-0.1.0/typescript/package-lock.json +1211 -0
  35. paybito_mcp-0.1.0/typescript/package.json +34 -0
  36. paybito_mcp-0.1.0/typescript/scripts/sync-data.mjs +26 -0
  37. paybito_mcp-0.1.0/typescript/src/corpus.ts +179 -0
  38. paybito_mcp-0.1.0/typescript/src/model.ts +132 -0
  39. paybito_mcp-0.1.0/typescript/src/playbooks.ts +37 -0
  40. paybito_mcp-0.1.0/typescript/src/server.ts +117 -0
  41. paybito_mcp-0.1.0/typescript/tsconfig.json +16 -0
@@ -0,0 +1,29 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ .eggs/
6
+ dist/
7
+ .pytest_cache/
8
+ .venv/
9
+ venv/
10
+
11
+ # Generated dev artifacts (regenerate with `paybito-build`)
12
+ # NOTE: src/paybito_mcp/data/model.json IS committed (shipped package data).
13
+ build/
14
+
15
+ # Node / TypeScript
16
+ node_modules/
17
+ typescript/dist/
18
+ typescript/*.tsbuildinfo
19
+
20
+ # TS data artifacts synced from the Python build (regenerate with `npm run sync`;
21
+ # included in the npm tarball via prepublishOnly + package.json "files").
22
+ typescript/data/
23
+ typescript/playbooks/
24
+
25
+ # Editors / OS
26
+ .vscode/
27
+ .idea/
28
+ .DS_Store
29
+ Thumbs.db
@@ -0,0 +1,149 @@
1
+ Metadata-Version: 2.4
2
+ Name: paybito-mcp
3
+ Version: 0.1.0
4
+ Summary: PayBito infrastructure knowledge helper for AI agents — injects PayBito API expertise (Resources + Prompts, no live actions) into any MCP-capable AI platform.
5
+ Requires-Python: >=3.10
6
+ Requires-Dist: mcp>=1.2
7
+ Requires-Dist: pyyaml>=6
8
+ Provides-Extra: dev
9
+ Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
10
+ Requires-Dist: pytest>=8; extra == 'dev'
11
+ Description-Content-Type: text/markdown
12
+
13
+ # PayBito MCP — AI Integration Knowledge Helper
14
+
15
+ A **knowledge helper** that injects PayBito infrastructure expertise into any AI coding
16
+ agent, so a developer can implement PayBito integrations (websites, exchanges, payment
17
+ flows, trading apps) in natural language.
18
+
19
+ > It is **not** an action executor. It never calls PayBito's live API, never moves funds,
20
+ > never reads balances. It serves *documentation and code guidance* so the AI writes the
21
+ > correct integration code for you — the same way the `frontend-design` skill makes an AI
22
+ > produce great UIs without "running" anything.
23
+
24
+ Built from **all 6 of PayBito's published OpenAPI specs** (1,344 endpoints → **1,058
25
+ unique operations** across 28 domains and 6 hosts), normalized into one clean model.
26
+
27
+ ## What it exposes
28
+
29
+ | Surface | Contents | For |
30
+ |---|---|---|
31
+ | **Resources** | `paybito://overview`, `paybito://auth`, `paybito://domains`, `paybito://domain/{slug}`, `paybito://operation/{id}`, `paybito://playbook/{name}` | Clients that read MCP resources (Claude) |
32
+ | **Tools** (read-only) | `paybito_overview`, `paybito_search`, `paybito_get_operation`, `paybito_get_domain`, `paybito_get_auth`, `paybito_list_playbooks`, `paybito_get_playbook` | Clients that only invoke tools (ChatGPT, Cursor, Gemini, …). These return **documentation only**. |
33
+ | **Prompts** | `integrate_paybito`, `add_payment_button`, `spot_trading_code` | Guided workflows |
34
+
35
+ ## Install
36
+
37
+ ```bash
38
+ pip install -e . # or: pipx install . / uvx --from . paybito-mcp
39
+ paybito-build # generate build/model.json + build/corpus from specs/
40
+ ```
41
+
42
+ `paybito-mcp` then runs the server over stdio.
43
+
44
+ ## Inject it into your AI (one-time setup per tool)
45
+
46
+ There are two delivery modes. Use the **MCP server** for agentic/coding tools, and the
47
+ **portable bundle** for web chat UIs.
48
+
49
+ ### Mode A — MCP server (agentic & coding tools)
50
+
51
+ The command is `paybito-mcp` (after `pip install`), or `npx @paybito/mcp` once published
52
+ (see `typescript/`).
53
+
54
+ **Claude Code**
55
+ ```bash
56
+ claude mcp add paybito -- paybito-mcp # then: /mcp to verify it's connected
57
+ ```
58
+
59
+ **Claude Desktop** — edit `claude_desktop_config.json`
60
+ (Windows: `%APPDATA%\Claude\`, macOS: `~/Library/Application Support/Claude/`):
61
+ ```jsonc
62
+ { "mcpServers": { "paybito": { "command": "paybito-mcp" } } }
63
+ ```
64
+
65
+ **Cursor** — `.cursor/mcp.json` in your project (or global `~/.cursor/mcp.json`):
66
+ ```jsonc
67
+ { "mcpServers": { "paybito": { "command": "paybito-mcp" } } }
68
+ ```
69
+
70
+ **VS Code (Copilot agent mode)** — `.vscode/mcp.json`:
71
+ ```jsonc
72
+ { "servers": { "paybito": { "type": "stdio", "command": "paybito-mcp" } } }
73
+ ```
74
+
75
+ **OpenAI Codex CLI** — `~/.codex/config.toml`:
76
+ ```toml
77
+ [mcp_servers.paybito]
78
+ command = "paybito-mcp"
79
+ ```
80
+
81
+ **Gemini CLI** — `~/.gemini/settings.json`:
82
+ ```jsonc
83
+ { "mcpServers": { "paybito": { "command": "paybito-mcp" } } }
84
+ ```
85
+
86
+ **Windsurf** — `~/.codeium/windsurf/mcp_config.json`:
87
+ ```jsonc
88
+ { "mcpServers": { "paybito": { "command": "paybito-mcp" } } }
89
+ ```
90
+
91
+ **ChatGPT (Developer mode / connectors)** — host the server over HTTP and add it as a
92
+ custom connector. (Local stdio is for desktop tools; for ChatGPT web, prefer Mode B or a
93
+ hosted HTTP deployment.)
94
+
95
+ > If `paybito-mcp` isn't on your PATH, use the absolute path, or
96
+ > `{ "command": "python", "args": ["-m", "paybito_mcp.server"] }`.
97
+
98
+ ### Mode B — Portable knowledge bundle (web chat UIs, no install)
99
+
100
+ Run `paybito-build`, then upload the generated **`build/corpus/`** folder as knowledge files:
101
+
102
+ - **ChatGPT** — Custom GPT → *Configure → Knowledge* (upload the files), or a Project's files.
103
+ - **Claude (web/Projects)** — create a Project → add the files to *Project knowledge*.
104
+ - **Gemini (Gems)** — create a Gem → add the files as knowledge.
105
+
106
+ Start the system/instruction with: *"Use the PayBito knowledge files to write integration
107
+ code; read `overview.md` and `auth.md` first."*
108
+
109
+ ## Use cases — what to ask, and what the AI does
110
+
111
+ Once injected, the developer works in plain language. Examples:
112
+
113
+ | You ask… | The AI does (via this knowledge) |
114
+ |---|---|
115
+ | *"Add a PayBito crypto payment button to my WooCommerce checkout."* | Reads the `woocommerce` + `payment-button` playbooks, pulls `GetMerchant_settings` / `payNowCheckout` / `get_invoice_status_paid_amount` fields, and writes a PHP gateway plugin with correct `X-MBX-APIKEY` auth and settlement polling. |
116
+ | *"Build a Node endpoint to place a spot limit buy and check the order."* | Reads `spot-trading`, gets `tradeCreateOffer`, `getUserBalance`, `assetpairPrecision`, and writes server-side code with precision + error handling and a ⚠️ confirmation step. |
117
+ | *"Generate a Python client for PayBito withdrawals."* | Finds `createWithdrawalOrder` / `validateAddress` / `getFees`, flags them as state-changing, and writes a client that validates the address and confirms before sending. |
118
+ | *"How do I launch my own branded exchange on PayBito?"* | Reads `build-your-platform`, surveys the Broker/Exchange/Access-Control domains, and outlines the onboarding + OAuth + configuration calls with the correct `institutional-bo` host. |
119
+ | *"What does the response of `getUserBalance` look like?"* | Calls `paybito_get_operation` and returns the documented fields + a ready request example. |
120
+
121
+ The AI **writes the code**; you run it. The server never executes a PayBito call itself.
122
+
123
+ ### Quick prompts (MCP prompts)
124
+
125
+ In MCP-aware clients you can also invoke the bundled prompts directly:
126
+ `integrate_paybito`, `add_payment_button`, `use_playbook`, `spot_trading_code`.
127
+
128
+ ## Rebuild when PayBito updates their specs
129
+
130
+ The specs in `specs/` were downloaded from the Redoc `spec-url` endpoints under
131
+ `https://service.hashcashconsultants.com/Api/…`. Re-download them and run `paybito-build`.
132
+
133
+ ## Architecture
134
+
135
+ ```
136
+ specs/*.yaml ──► normalize.py ──► build/model.json ──► corpus.py ──► resources/tools/prompts
137
+ (6 OpenAPI) (Phase 0: (1,058 unique (Phase 1: (server.py)
138
+ repair quirks, operations, layered
139
+ merge, dedup) provenance) markdown)
140
+ ```
141
+
142
+ **Spec quirks the normalizer repairs:** empty `servers.url`; hostnames + query strings
143
+ baked into path keys; missing `securitySchemes` (auth is prose-only); 6 mixed hosts incl.
144
+ WebSocket pseudo-endpoints; heavy overlap across the 6 files.
145
+
146
+ ## Auth model (for generated code)
147
+
148
+ `X-MBX-APIKEY: base64(API_KEY:SECRET)` header. Permissions: READ / DEPOSIT / WITHDRAW /
149
+ TRADE. Rate limit 5 req/s per IP. See `paybito://auth`.
@@ -0,0 +1,137 @@
1
+ # PayBito MCP — AI Integration Knowledge Helper
2
+
3
+ A **knowledge helper** that injects PayBito infrastructure expertise into any AI coding
4
+ agent, so a developer can implement PayBito integrations (websites, exchanges, payment
5
+ flows, trading apps) in natural language.
6
+
7
+ > It is **not** an action executor. It never calls PayBito's live API, never moves funds,
8
+ > never reads balances. It serves *documentation and code guidance* so the AI writes the
9
+ > correct integration code for you — the same way the `frontend-design` skill makes an AI
10
+ > produce great UIs without "running" anything.
11
+
12
+ Built from **all 6 of PayBito's published OpenAPI specs** (1,344 endpoints → **1,058
13
+ unique operations** across 28 domains and 6 hosts), normalized into one clean model.
14
+
15
+ ## What it exposes
16
+
17
+ | Surface | Contents | For |
18
+ |---|---|---|
19
+ | **Resources** | `paybito://overview`, `paybito://auth`, `paybito://domains`, `paybito://domain/{slug}`, `paybito://operation/{id}`, `paybito://playbook/{name}` | Clients that read MCP resources (Claude) |
20
+ | **Tools** (read-only) | `paybito_overview`, `paybito_search`, `paybito_get_operation`, `paybito_get_domain`, `paybito_get_auth`, `paybito_list_playbooks`, `paybito_get_playbook` | Clients that only invoke tools (ChatGPT, Cursor, Gemini, …). These return **documentation only**. |
21
+ | **Prompts** | `integrate_paybito`, `add_payment_button`, `spot_trading_code` | Guided workflows |
22
+
23
+ ## Install
24
+
25
+ ```bash
26
+ pip install -e . # or: pipx install . / uvx --from . paybito-mcp
27
+ paybito-build # generate build/model.json + build/corpus from specs/
28
+ ```
29
+
30
+ `paybito-mcp` then runs the server over stdio.
31
+
32
+ ## Inject it into your AI (one-time setup per tool)
33
+
34
+ There are two delivery modes. Use the **MCP server** for agentic/coding tools, and the
35
+ **portable bundle** for web chat UIs.
36
+
37
+ ### Mode A — MCP server (agentic & coding tools)
38
+
39
+ The command is `paybito-mcp` (after `pip install`), or `npx @paybito/mcp` once published
40
+ (see `typescript/`).
41
+
42
+ **Claude Code**
43
+ ```bash
44
+ claude mcp add paybito -- paybito-mcp # then: /mcp to verify it's connected
45
+ ```
46
+
47
+ **Claude Desktop** — edit `claude_desktop_config.json`
48
+ (Windows: `%APPDATA%\Claude\`, macOS: `~/Library/Application Support/Claude/`):
49
+ ```jsonc
50
+ { "mcpServers": { "paybito": { "command": "paybito-mcp" } } }
51
+ ```
52
+
53
+ **Cursor** — `.cursor/mcp.json` in your project (or global `~/.cursor/mcp.json`):
54
+ ```jsonc
55
+ { "mcpServers": { "paybito": { "command": "paybito-mcp" } } }
56
+ ```
57
+
58
+ **VS Code (Copilot agent mode)** — `.vscode/mcp.json`:
59
+ ```jsonc
60
+ { "servers": { "paybito": { "type": "stdio", "command": "paybito-mcp" } } }
61
+ ```
62
+
63
+ **OpenAI Codex CLI** — `~/.codex/config.toml`:
64
+ ```toml
65
+ [mcp_servers.paybito]
66
+ command = "paybito-mcp"
67
+ ```
68
+
69
+ **Gemini CLI** — `~/.gemini/settings.json`:
70
+ ```jsonc
71
+ { "mcpServers": { "paybito": { "command": "paybito-mcp" } } }
72
+ ```
73
+
74
+ **Windsurf** — `~/.codeium/windsurf/mcp_config.json`:
75
+ ```jsonc
76
+ { "mcpServers": { "paybito": { "command": "paybito-mcp" } } }
77
+ ```
78
+
79
+ **ChatGPT (Developer mode / connectors)** — host the server over HTTP and add it as a
80
+ custom connector. (Local stdio is for desktop tools; for ChatGPT web, prefer Mode B or a
81
+ hosted HTTP deployment.)
82
+
83
+ > If `paybito-mcp` isn't on your PATH, use the absolute path, or
84
+ > `{ "command": "python", "args": ["-m", "paybito_mcp.server"] }`.
85
+
86
+ ### Mode B — Portable knowledge bundle (web chat UIs, no install)
87
+
88
+ Run `paybito-build`, then upload the generated **`build/corpus/`** folder as knowledge files:
89
+
90
+ - **ChatGPT** — Custom GPT → *Configure → Knowledge* (upload the files), or a Project's files.
91
+ - **Claude (web/Projects)** — create a Project → add the files to *Project knowledge*.
92
+ - **Gemini (Gems)** — create a Gem → add the files as knowledge.
93
+
94
+ Start the system/instruction with: *"Use the PayBito knowledge files to write integration
95
+ code; read `overview.md` and `auth.md` first."*
96
+
97
+ ## Use cases — what to ask, and what the AI does
98
+
99
+ Once injected, the developer works in plain language. Examples:
100
+
101
+ | You ask… | The AI does (via this knowledge) |
102
+ |---|---|
103
+ | *"Add a PayBito crypto payment button to my WooCommerce checkout."* | Reads the `woocommerce` + `payment-button` playbooks, pulls `GetMerchant_settings` / `payNowCheckout` / `get_invoice_status_paid_amount` fields, and writes a PHP gateway plugin with correct `X-MBX-APIKEY` auth and settlement polling. |
104
+ | *"Build a Node endpoint to place a spot limit buy and check the order."* | Reads `spot-trading`, gets `tradeCreateOffer`, `getUserBalance`, `assetpairPrecision`, and writes server-side code with precision + error handling and a ⚠️ confirmation step. |
105
+ | *"Generate a Python client for PayBito withdrawals."* | Finds `createWithdrawalOrder` / `validateAddress` / `getFees`, flags them as state-changing, and writes a client that validates the address and confirms before sending. |
106
+ | *"How do I launch my own branded exchange on PayBito?"* | Reads `build-your-platform`, surveys the Broker/Exchange/Access-Control domains, and outlines the onboarding + OAuth + configuration calls with the correct `institutional-bo` host. |
107
+ | *"What does the response of `getUserBalance` look like?"* | Calls `paybito_get_operation` and returns the documented fields + a ready request example. |
108
+
109
+ The AI **writes the code**; you run it. The server never executes a PayBito call itself.
110
+
111
+ ### Quick prompts (MCP prompts)
112
+
113
+ In MCP-aware clients you can also invoke the bundled prompts directly:
114
+ `integrate_paybito`, `add_payment_button`, `use_playbook`, `spot_trading_code`.
115
+
116
+ ## Rebuild when PayBito updates their specs
117
+
118
+ The specs in `specs/` were downloaded from the Redoc `spec-url` endpoints under
119
+ `https://service.hashcashconsultants.com/Api/…`. Re-download them and run `paybito-build`.
120
+
121
+ ## Architecture
122
+
123
+ ```
124
+ specs/*.yaml ──► normalize.py ──► build/model.json ──► corpus.py ──► resources/tools/prompts
125
+ (6 OpenAPI) (Phase 0: (1,058 unique (Phase 1: (server.py)
126
+ repair quirks, operations, layered
127
+ merge, dedup) provenance) markdown)
128
+ ```
129
+
130
+ **Spec quirks the normalizer repairs:** empty `servers.url`; hostnames + query strings
131
+ baked into path keys; missing `securitySchemes` (auth is prose-only); 6 mixed hosts incl.
132
+ WebSocket pseudo-endpoints; heavy overlap across the 6 files.
133
+
134
+ ## Auth model (for generated code)
135
+
136
+ `X-MBX-APIKEY: base64(API_KEY:SECRET)` header. Permissions: READ / DEPOSIT / WITHDRAW /
137
+ TRADE. Rate limit 5 req/s per IP. See `paybito://auth`.
@@ -0,0 +1,32 @@
1
+ [project]
2
+ name = "paybito-mcp"
3
+ version = "0.1.0"
4
+ description = "PayBito infrastructure knowledge helper for AI agents — injects PayBito API expertise (Resources + Prompts, no live actions) into any MCP-capable AI platform."
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ dependencies = [
8
+ "PyYAML>=6",
9
+ "mcp>=1.2",
10
+ ]
11
+
12
+ [project.optional-dependencies]
13
+ dev = ["pytest>=8", "pytest-asyncio>=0.23"]
14
+
15
+ [project.scripts]
16
+ paybito-mcp = "paybito_mcp.server:main"
17
+ paybito-build = "paybito_mcp.build:main"
18
+
19
+ [build-system]
20
+ requires = ["hatchling"]
21
+ build-backend = "hatchling.build"
22
+
23
+ [tool.hatch.build.targets.wheel]
24
+ packages = ["src/paybito_mcp"]
25
+ include = [
26
+ "src/paybito_mcp/**/*.py",
27
+ "src/paybito_mcp/**/*.md",
28
+ "src/paybito_mcp/data/*.json",
29
+ ]
30
+ artifacts = [
31
+ "src/paybito_mcp/data/model.json",
32
+ ]