@goodagent/mcp-server 0.1.0 → 0.2.0
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 +16 -6
- package/dist/index.js +524 -463
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +524 -463
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -5,8 +5,10 @@ MCP-compatible agent runtime (Claude Desktop, Cursor, custom frameworks)
|
|
|
5
5
|
**verify a GoodDollar Agent ID** and read basic GoodDollar state on Celo.
|
|
6
6
|
|
|
7
7
|
All tools are **read-only** — the server never holds keys, signs, or broadcasts
|
|
8
|
-
transactions. Agent verification re-reads the GoodDollar whitelist
|
|
9
|
-
|
|
8
|
+
transactions. Agent verification re-reads **both** the GoodDollar whitelist and
|
|
9
|
+
the agent's required G$ bond (`AgentVault`) **live** on Celo, so a credential
|
|
10
|
+
auto-invalidates if the human's verification lapses **or** the operator withdraws
|
|
11
|
+
the bond (`insufficient_bond`).
|
|
10
12
|
|
|
11
13
|
## Use it (no install)
|
|
12
14
|
|
|
@@ -33,7 +35,7 @@ Transport is **stdio** — the client spawns the server as a subprocess.
|
|
|
33
35
|
|
|
34
36
|
| Tool | Purpose | Input |
|
|
35
37
|
|------|---------|-------|
|
|
36
|
-
| `gooddollar_verify_agent` | Confirm an AI agent is vouched for by a real, currently-verified GoodDollar human | `{ credential }` (full signed wire-form credential) |
|
|
38
|
+
| `gooddollar_verify_agent` | Confirm an AI agent is vouched for by a real, currently-verified GoodDollar human **and** still carries its required refundable G$ bond on-chain | `{ credential }` (full signed wire-form credential) |
|
|
37
39
|
| `gooddollar_verify_status` | Is a wallet a verified (whitelisted) GoodDollar identity? Returns root + expiry | `{ wallet }` |
|
|
38
40
|
| `gooddollar_get_balance` | G$ token balance (raw + formatted) | `{ wallet }` |
|
|
39
41
|
| `gooddollar_claim_eligibility` | Can a wallet claim its daily UBI now, and how much? | `{ wallet }` |
|
|
@@ -58,11 +60,14 @@ The standalone server is stateless, so pass the full credential to verify:
|
|
|
58
60
|
Returns:
|
|
59
61
|
|
|
60
62
|
```json
|
|
61
|
-
{ "found": true, "valid": true, "
|
|
63
|
+
{ "found": true, "valid": true, "operator": "0x...", "humanRoot": "0x...", "expiresAt": "1735689600", "stake": "250000000000000000000", "minStake": "250000000000000000000" }
|
|
62
64
|
```
|
|
63
65
|
|
|
64
66
|
`valid` is true only if the signature recovers to `operator`, the credential is
|
|
65
|
-
not expired,
|
|
67
|
+
not expired, the operator is **still** a whitelisted GoodDollar identity, **and**
|
|
68
|
+
the agent's live G$ bond in the `AgentVault` still meets the vault minimum
|
|
69
|
+
(250 G$ on Celo mainnet). If the operator withdrew the bond, the result is
|
|
70
|
+
`{ "valid": false, "reason": "insufficient_bond", ... }` until it is re-staked.
|
|
66
71
|
|
|
67
72
|
> Looking up a stored credential by agent address (without holding the
|
|
68
73
|
> credential) is served by the hosted REST API:
|
|
@@ -74,10 +79,15 @@ The same verification is available directly via the SDK
|
|
|
74
79
|
[`@goodagent/agent-id`](https://www.npmjs.com/package/@goodagent/agent-id):
|
|
75
80
|
|
|
76
81
|
```ts
|
|
77
|
-
import {
|
|
82
|
+
import {
|
|
83
|
+
verifyAgentId,
|
|
84
|
+
liveHumanRootLookup,
|
|
85
|
+
liveStakeLookup,
|
|
86
|
+
} from "@goodagent/agent-id";
|
|
78
87
|
|
|
79
88
|
const { valid, operator } = await verifyAgentId(credential, {
|
|
80
89
|
humanRootLookup: liveHumanRootLookup,
|
|
90
|
+
stakeLookup: liveStakeLookup, // enforce the live G$ bond too
|
|
81
91
|
});
|
|
82
92
|
```
|
|
83
93
|
|