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.
- paybito_mcp-0.1.0/.gitignore +29 -0
- paybito_mcp-0.1.0/PKG-INFO +149 -0
- paybito_mcp-0.1.0/README.md +137 -0
- paybito_mcp-0.1.0/pyproject.toml +32 -0
- paybito_mcp-0.1.0/specs/build-your-exchange-app.yaml +20257 -0
- paybito_mcp-0.1.0/specs/build-your-exchange.yaml +37692 -0
- paybito_mcp-0.1.0/specs/build-your-launch-app.yaml +18721 -0
- paybito_mcp-0.1.0/specs/build-your-payment-app.yaml +10146 -0
- paybito_mcp-0.1.0/specs/exchange.yaml +29444 -0
- paybito_mcp-0.1.0/specs/payments.yaml +12308 -0
- paybito_mcp-0.1.0/src/paybito_mcp/__init__.py +7 -0
- paybito_mcp-0.1.0/src/paybito_mcp/build.py +54 -0
- paybito_mcp-0.1.0/src/paybito_mcp/corpus.py +287 -0
- paybito_mcp-0.1.0/src/paybito_mcp/data/model.json +63648 -0
- paybito_mcp-0.1.0/src/paybito_mcp/model.py +113 -0
- paybito_mcp-0.1.0/src/paybito_mcp/normalize.py +476 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/build-your-platform.md +28 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/cart-sdk.md +23 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/crypto-banking.md +25 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/custom-checkout.md +25 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/futures-options.md +22 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/nft-marketplace.md +18 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/opencart.md +27 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/p2p.md +17 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/payment-button.md +45 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/recurring-billing.md +22 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/spot-trading.md +40 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/web3-wallet.md +19 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks/woocommerce.md +49 -0
- paybito_mcp-0.1.0/src/paybito_mcp/playbooks.py +30 -0
- paybito_mcp-0.1.0/src/paybito_mcp/server.py +195 -0
- paybito_mcp-0.1.0/tests/test_paybito.py +127 -0
- paybito_mcp-0.1.0/typescript/README.md +46 -0
- paybito_mcp-0.1.0/typescript/package-lock.json +1211 -0
- paybito_mcp-0.1.0/typescript/package.json +34 -0
- paybito_mcp-0.1.0/typescript/scripts/sync-data.mjs +26 -0
- paybito_mcp-0.1.0/typescript/src/corpus.ts +179 -0
- paybito_mcp-0.1.0/typescript/src/model.ts +132 -0
- paybito_mcp-0.1.0/typescript/src/playbooks.ts +37 -0
- paybito_mcp-0.1.0/typescript/src/server.ts +117 -0
- 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
|
+
]
|