@codespar/mcp-circle 0.2.1 → 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 +2 -2
- package/dist/index.js +4 -1
- package/package.json +2 -2
- package/server.json +13 -4
- package/src/__tests__/index.test.ts +3 -3
- package/src/index.ts +6 -1
package/README.md
CHANGED
|
@@ -111,13 +111,13 @@ Circle provides a sandbox at `api-sandbox.circle.com`. Use a sandbox API key for
|
|
|
111
111
|
- `smart_contract_calls` — Execute smart contract calls
|
|
112
112
|
- `cross_chain_transfers` — Transfer assets across blockchains
|
|
113
113
|
|
|
114
|
-
Want to contribute? [Open a PR](https://github.com/codespar/mcp-dev-
|
|
114
|
+
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).
|
|
115
115
|
|
|
116
116
|
## Links
|
|
117
117
|
|
|
118
118
|
- [Circle Website](https://circle.com)
|
|
119
119
|
- [Circle API Documentation](https://developers.circle.com)
|
|
120
|
-
- [MCP Dev
|
|
120
|
+
- [MCP Dev LATAM](https://github.com/codespar/mcp-dev-latam)
|
|
121
121
|
- [Landing Page](https://codespar.dev/mcp)
|
|
122
122
|
|
|
123
123
|
## Enterprise
|
package/dist/index.js
CHANGED
|
@@ -52,7 +52,10 @@ async function circleRequest(method, path, body) {
|
|
|
52
52
|
}
|
|
53
53
|
return res.json();
|
|
54
54
|
}
|
|
55
|
-
|
|
55
|
+
// Managed-tier pointer surfaced to the agent via MCP `instructions`.
|
|
56
|
+
// Informational only — nothing CodeSpar-hosted is called (MIT-safe).
|
|
57
|
+
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).";
|
|
58
|
+
const server = new Server({ name: "mcp-circle", version: "0.2.1" }, { capabilities: { tools: {} }, instructions: MANAGED_TIER_HINT });
|
|
56
59
|
const amountSchema = {
|
|
57
60
|
type: "object",
|
|
58
61
|
properties: {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codespar/mcp-circle",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "MCP server for Circle
|
|
3
|
+
"version": "0.2.2",
|
|
4
|
+
"description": "MCP server for Circle — USDC payments, wallets, payouts, transfers, cards, settlements, chargebacks, webhooks",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"bin": {
|
package/server.json
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
"name": "io.github.codespar/mcp-circle",
|
|
4
4
|
"description": "MCP server for Circle — USDC payments, wallets, payouts, transfers",
|
|
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/circle"
|
|
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-circle",
|
|
15
|
-
"version": "0.2.
|
|
15
|
+
"version": "0.2.2",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
|
@@ -26,5 +26,14 @@
|
|
|
26
26
|
}
|
|
27
27
|
]
|
|
28
28
|
}
|
|
29
|
-
]
|
|
29
|
+
],
|
|
30
|
+
"provider": {
|
|
31
|
+
"homepage": "https://www.circle.com",
|
|
32
|
+
"logoUrl": "https://logo.clearbit.com/circle.com",
|
|
33
|
+
"logoFallback": "https://www.google.com/s2/favicons?domain=circle.com&sz=128",
|
|
34
|
+
"docsUrl": "https://developers.circle.com",
|
|
35
|
+
"sandbox": {
|
|
36
|
+
"available": true
|
|
37
|
+
}
|
|
38
|
+
}
|
|
30
39
|
}
|
|
@@ -32,9 +32,9 @@ beforeEach(async () => {
|
|
|
32
32
|
});
|
|
33
33
|
|
|
34
34
|
describe("mcp-circle", () => {
|
|
35
|
-
it("should register
|
|
35
|
+
it("should register 23 tools", async () => {
|
|
36
36
|
const result = await listToolsHandler();
|
|
37
|
-
expect(result.tools).toHaveLength(
|
|
37
|
+
expect(result.tools).toHaveLength(23);
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
it("should call correct API endpoint for create_wallet", async () => {
|
|
@@ -43,7 +43,7 @@ describe("mcp-circle", () => {
|
|
|
43
43
|
await callToolHandler({ params: { name: "create_wallet", arguments: { idempotencyKey: "key1" } } });
|
|
44
44
|
|
|
45
45
|
const [url, opts] = mockFetch.mock.calls[0];
|
|
46
|
-
expect(url).toContain("api.circle.com/v1/wallets");
|
|
46
|
+
expect(url).toContain("api.circle.com/v1/businessAccount/wallets");
|
|
47
47
|
expect(opts.method).toBe("POST");
|
|
48
48
|
expect(opts.headers.Authorization).toBe("Bearer test-key");
|
|
49
49
|
});
|
package/src/index.ts
CHANGED
|
@@ -60,9 +60,14 @@ async function circleRequest(method: string, path: string, body?: unknown): Prom
|
|
|
60
60
|
return res.json();
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
// Managed-tier pointer surfaced to the agent via MCP `instructions`.
|
|
64
|
+
// Informational only — nothing CodeSpar-hosted is called (MIT-safe).
|
|
65
|
+
const MANAGED_TIER_HINT =
|
|
66
|
+
"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).";
|
|
67
|
+
|
|
63
68
|
const server = new Server(
|
|
64
69
|
{ name: "mcp-circle", version: "0.2.1" },
|
|
65
|
-
{ capabilities: { tools: {} } }
|
|
70
|
+
{ capabilities: { tools: {} }, instructions: MANAGED_TIER_HINT }
|
|
66
71
|
);
|
|
67
72
|
|
|
68
73
|
const amountSchema = {
|