@codespar/mcp-foxbit 0.2.0 → 0.2.1

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 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 | Description |
57
- |------|-------------|
58
- | `list_markets` | List all available trading pairs |
59
- | `get_ticker` | Get 24h ticker data for a market |
60
- | `get_orderbook` | Get order book for a market |
61
- | `get_account_balances` | Get account balances |
62
- | `create_order` | Create a buy or sell order (limit/market) |
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
 
package/dist/index.js CHANGED
@@ -62,7 +62,7 @@ async function foxbitRequest(method, path, query, body) {
62
62
  }
63
63
  return res.json();
64
64
  }
65
- const server = new Server({ name: "mcp-foxbit", version: "0.2.0" }, { capabilities: { tools: {} } });
65
+ const server = new Server({ name: "mcp-foxbit", version: "0.2.1" }, { capabilities: { tools: {} } });
66
66
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
67
67
  tools: [
68
68
  {
@@ -390,7 +390,7 @@ async function main() {
390
390
  const t = new StreamableHTTPServerTransport({ sessionIdGenerator: () => randomUUID(), onsessioninitialized: (id) => { transports.set(id, t); } });
391
391
  t.onclose = () => { if (t.sessionId)
392
392
  transports.delete(t.sessionId); };
393
- const s = new Server({ name: "mcp-foxbit", version: "0.2.0" }, { capabilities: { tools: {} } });
393
+ const s = new Server({ name: "mcp-foxbit", version: "0.2.1" }, { capabilities: { tools: {} } });
394
394
  server._requestHandlers.forEach((v, k) => s._requestHandlers.set(k, v));
395
395
  server._notificationHandlers?.forEach((v, k) => s._notificationHandlers.set(k, v));
396
396
  await s.connect(t);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@codespar/mcp-foxbit",
3
- "version": "0.2.0",
4
- "description": "MCP server for Foxbit Brazilian crypto exchange, trading, orderbook, institutional",
3
+ "version": "0.2.1",
4
+ "description": "MCP server for Foxbit \u2014 Brazilian crypto exchange, trading, orderbook, institutional",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "bin": {
package/server.json CHANGED
@@ -7,12 +7,12 @@
7
7
  "source": "github",
8
8
  "subfolder": "packages/crypto/foxbit"
9
9
  },
10
- "version": "0.2.0",
10
+ "version": "0.2.1",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@codespar/mcp-foxbit",
15
- "version": "0.2.0",
15
+ "version": "0.2.1",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  },
package/src/index.ts CHANGED
@@ -78,7 +78,7 @@ async function foxbitRequest(
78
78
  }
79
79
 
80
80
  const server = new Server(
81
- { name: "mcp-foxbit", version: "0.2.0" },
81
+ { name: "mcp-foxbit", version: "0.2.1" },
82
82
  { capabilities: { tools: {} } },
83
83
  );
84
84
 
@@ -407,7 +407,7 @@ async function main() {
407
407
  if (!sid && isInitializeRequest(req.body)) {
408
408
  const t = new StreamableHTTPServerTransport({ sessionIdGenerator: () => randomUUID(), onsessioninitialized: (id) => { transports.set(id, t); } });
409
409
  t.onclose = () => { if (t.sessionId) transports.delete(t.sessionId); };
410
- const s = new Server({ name: "mcp-foxbit", version: "0.2.0" }, { 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);
410
+ 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
411
  await t.handleRequest(req, res, req.body); return;
412
412
  }
413
413
  res.status(400).json({ jsonrpc: "2.0", error: { code: -32000, message: "Bad Request" }, id: null });