@codespar/mcp-foxbit 0.2.0 → 0.2.2
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.
- package/README.md +26 -15
- package/dist/index.js +5 -2
- package/package.json +1 -1
- package/server.json +13 -4
- package/src/index.ts +8 -3
package/README.md
CHANGED
|
@@ -51,20 +51,31 @@ Add to `.cursor/mcp.json` or `.vscode/mcp.json`:
|
|
|
51
51
|
}
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
## Tools
|
|
55
|
-
|
|
56
|
-
| Tool |
|
|
57
|
-
|
|
58
|
-
| `list_markets` | List all available trading pairs |
|
|
59
|
-
| `
|
|
60
|
-
| `
|
|
61
|
-
| `
|
|
62
|
-
| `
|
|
54
|
+
## Tools (21)
|
|
55
|
+
|
|
56
|
+
| Tool | Purpose |
|
|
57
|
+
|---|---|
|
|
58
|
+
| `list_markets` | List all available trading pairs / markets on Foxbit |
|
|
59
|
+
| `list_currencies` | List all supported currencies (crypto and fiat) on Foxbit |
|
|
60
|
+
| `get_currency` | Get details of a specific currency (precision, min/max amounts, type) |
|
|
61
|
+
| `get_ticker` | Get 24h ticker data for a market (price, volume, high/low) |
|
|
62
|
+
| `get_orderbook` | Get order book (bids and asks) for a market |
|
|
63
|
+
| `get_market_trades` | Get recent public trades for a market (trade history / tape) |
|
|
64
|
+
| `get_candles` | Get OHLC candlestick data for a market |
|
|
65
|
+
| `get_account_balances` | Get account balances for all currencies |
|
|
66
|
+
| `get_balance` | Get account balance for a single currency |
|
|
67
|
+
| `create_order` | Create a buy or sell order (limit or market) |
|
|
63
68
|
| `get_order` | Get order details by ID |
|
|
64
|
-
| `list_orders` | List orders with filters |
|
|
65
|
-
| `cancel_order` | Cancel an open order |
|
|
66
|
-
| `list_trades` | List executed trades |
|
|
67
|
-
| `list_deposits_withdrawals` | List deposits and withdrawals for a currency |
|
|
69
|
+
| `list_orders` | List orders with optional filters |
|
|
70
|
+
| `cancel_order` | Cancel an open order by ID |
|
|
71
|
+
| `list_trades` | List user's executed trades (private trade history) |
|
|
72
|
+
| `list_deposits_withdrawals` | List deposits and withdrawals (transactions) for a currency |
|
|
73
|
+
| `create_pix_deposit` | Create a Pix instant deposit (BRL). |
|
|
74
|
+
| `list_pix_deposits` | List Pix deposit history (BRL instant deposits) |
|
|
75
|
+
| `create_pix_withdrawal` | Create a Pix withdrawal (BRL) to a Pix key |
|
|
76
|
+
| `list_pix_withdrawals` | List Pix withdrawal history (BRL fiat withdrawals) |
|
|
77
|
+
| `create_crypto_withdrawal` | Create a crypto withdrawal to an external wallet address |
|
|
78
|
+
| `get_trading_fees` | Get current trading fees and limits (maker/taker per pair, withdrawal limits) |
|
|
68
79
|
|
|
69
80
|
## Authentication
|
|
70
81
|
|
|
@@ -112,13 +123,13 @@ Merchants and traders use both for best execution and redundancy.
|
|
|
112
123
|
- Institutional / OTC desk integrations
|
|
113
124
|
- WebSocket market data streams (where MCP transport allows)
|
|
114
125
|
|
|
115
|
-
Want to contribute? [Open a PR](https://github.com/codespar/mcp-dev-
|
|
126
|
+
Want to contribute? [Open a PR](https://github.com/codespar/mcp-dev-latam) or [request a tool](https://github.com/codespar/mcp-dev-latam/issues).
|
|
116
127
|
|
|
117
128
|
## Links
|
|
118
129
|
|
|
119
130
|
- [Foxbit Website](https://foxbit.com.br)
|
|
120
131
|
- [Foxbit API Documentation](https://docs.foxbit.com.br)
|
|
121
|
-
- [MCP Dev
|
|
132
|
+
- [MCP Dev LATAM](https://github.com/codespar/mcp-dev-latam)
|
|
122
133
|
- [Landing Page](https://codespar.dev/mcp)
|
|
123
134
|
|
|
124
135
|
## Enterprise
|
package/dist/index.js
CHANGED
|
@@ -62,7 +62,10 @@ async function foxbitRequest(method, path, query, body) {
|
|
|
62
62
|
}
|
|
63
63
|
return res.json();
|
|
64
64
|
}
|
|
65
|
-
|
|
65
|
+
// Managed-tier pointer surfaced to the agent via MCP `instructions`.
|
|
66
|
+
// Informational only — nothing CodeSpar-hosted is called (MIT-safe).
|
|
67
|
+
const MANAGED_TIER_HINT = "This open-source CodeSpar server calls the provider's API directly. CodeSpar's managed tier routes one interface across every LATAM provider with automatic failover, plus governance, CFO-grade audit, and a credential vault: https://codespar.dev/agents (npx -y @codespar/mcp serve).";
|
|
68
|
+
const server = new Server({ name: "mcp-foxbit", version: "0.2.1" }, { capabilities: { tools: {} }, instructions: MANAGED_TIER_HINT });
|
|
66
69
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
67
70
|
tools: [
|
|
68
71
|
{
|
|
@@ -390,7 +393,7 @@ async function main() {
|
|
|
390
393
|
const t = new StreamableHTTPServerTransport({ sessionIdGenerator: () => randomUUID(), onsessioninitialized: (id) => { transports.set(id, t); } });
|
|
391
394
|
t.onclose = () => { if (t.sessionId)
|
|
392
395
|
transports.delete(t.sessionId); };
|
|
393
|
-
const s = new Server({ name: "mcp-foxbit", version: "0.2.
|
|
396
|
+
const s = new Server({ name: "mcp-foxbit", version: "0.2.1" }, { capabilities: { tools: {} } });
|
|
394
397
|
server._requestHandlers.forEach((v, k) => s._requestHandlers.set(k, v));
|
|
395
398
|
server._notificationHandlers?.forEach((v, k) => s._notificationHandlers.set(k, v));
|
|
396
399
|
await s.connect(t);
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
"name": "io.github.codespar/mcp-foxbit",
|
|
4
4
|
"description": "MCP server for Foxbit — Brazilian crypto exchange, trading, orderbook, institutional",
|
|
5
5
|
"repository": {
|
|
6
|
-
"url": "https://github.com/codespar/mcp-dev-
|
|
6
|
+
"url": "https://github.com/codespar/mcp-dev-latam",
|
|
7
7
|
"source": "github",
|
|
8
8
|
"subfolder": "packages/crypto/foxbit"
|
|
9
9
|
},
|
|
10
|
-
"version": "0.2.
|
|
10
|
+
"version": "0.2.2",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "@codespar/mcp-foxbit",
|
|
15
|
-
"version": "0.2.
|
|
15
|
+
"version": "0.2.2",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
|
@@ -33,5 +33,14 @@
|
|
|
33
33
|
}
|
|
34
34
|
]
|
|
35
35
|
}
|
|
36
|
-
]
|
|
36
|
+
],
|
|
37
|
+
"provider": {
|
|
38
|
+
"homepage": "https://www.foxbit.com.br",
|
|
39
|
+
"logoUrl": "https://logo.clearbit.com/foxbit.com.br",
|
|
40
|
+
"logoFallback": "https://www.google.com/s2/favicons?domain=foxbit.com.br&sz=128",
|
|
41
|
+
"docsUrl": "https://docs.foxbit.com.br",
|
|
42
|
+
"sandbox": {
|
|
43
|
+
"available": true
|
|
44
|
+
}
|
|
45
|
+
}
|
|
37
46
|
}
|
package/src/index.ts
CHANGED
|
@@ -77,9 +77,14 @@ async function foxbitRequest(
|
|
|
77
77
|
return res.json();
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
// Managed-tier pointer surfaced to the agent via MCP `instructions`.
|
|
81
|
+
// Informational only — nothing CodeSpar-hosted is called (MIT-safe).
|
|
82
|
+
const MANAGED_TIER_HINT =
|
|
83
|
+
"This open-source CodeSpar server calls the provider's API directly. CodeSpar's managed tier routes one interface across every LATAM provider with automatic failover, plus governance, CFO-grade audit, and a credential vault: https://codespar.dev/agents (npx -y @codespar/mcp serve).";
|
|
84
|
+
|
|
80
85
|
const server = new Server(
|
|
81
|
-
{ name: "mcp-foxbit", version: "0.2.
|
|
82
|
-
{ capabilities: { tools: {} } },
|
|
86
|
+
{ name: "mcp-foxbit", version: "0.2.1" },
|
|
87
|
+
{ capabilities: { tools: {} }, instructions: MANAGED_TIER_HINT },
|
|
83
88
|
);
|
|
84
89
|
|
|
85
90
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
@@ -407,7 +412,7 @@ async function main() {
|
|
|
407
412
|
if (!sid && isInitializeRequest(req.body)) {
|
|
408
413
|
const t = new StreamableHTTPServerTransport({ sessionIdGenerator: () => randomUUID(), onsessioninitialized: (id) => { transports.set(id, t); } });
|
|
409
414
|
t.onclose = () => { if (t.sessionId) transports.delete(t.sessionId); };
|
|
410
|
-
const s = new Server({ name: "mcp-foxbit", version: "0.2.
|
|
415
|
+
const s = new Server({ name: "mcp-foxbit", version: "0.2.1" }, { capabilities: { tools: {} } }); (server as any)._requestHandlers.forEach((v: any, k: any) => (s as any)._requestHandlers.set(k, v)); (server as any)._notificationHandlers?.forEach((v: any, k: any) => (s as any)._notificationHandlers.set(k, v)); await s.connect(t);
|
|
411
416
|
await t.handleRequest(req, res, req.body); return;
|
|
412
417
|
}
|
|
413
418
|
res.status(400).json({ jsonrpc: "2.0", error: { code: -32000, message: "Bad Request" }, id: null });
|