@varun-ai07/covenant-mcp 1.3.2 → 2.0.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.
Files changed (214) hide show
  1. package/dist/abis/GrantProgram.json +778 -0
  2. package/dist/abis/RevisionManager.json +544 -0
  3. package/dist/abis/TrainingMarketplace.json +787 -0
  4. package/dist/cli.js +0 -0
  5. package/dist/config.d.ts +15 -1
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +23 -3
  8. package/dist/config.js.map +1 -1
  9. package/dist/server.d.ts +3 -2
  10. package/dist/server.d.ts.map +1 -1
  11. package/dist/server.js +63 -63
  12. package/dist/server.js.map +1 -1
  13. package/dist/shared-types.js +8 -8
  14. package/dist/tools/{registry.d.ts → corven-agent.d.ts} +1 -1
  15. package/dist/tools/corven-agent.d.ts.map +1 -0
  16. package/dist/tools/corven-agent.js +90 -0
  17. package/dist/tools/corven-agent.js.map +1 -0
  18. package/dist/tools/corven-attest.d.ts +3 -0
  19. package/dist/tools/corven-attest.d.ts.map +1 -0
  20. package/dist/tools/corven-attest.js +87 -0
  21. package/dist/tools/corven-attest.js.map +1 -0
  22. package/dist/tools/{batches.d.ts → corven-batch.d.ts} +1 -1
  23. package/dist/tools/corven-batch.d.ts.map +1 -0
  24. package/dist/tools/corven-batch.js +116 -0
  25. package/dist/tools/corven-batch.js.map +1 -0
  26. package/dist/tools/{bounties.d.ts → corven-bounty.d.ts} +1 -1
  27. package/dist/tools/corven-bounty.d.ts.map +1 -0
  28. package/dist/tools/corven-bounty.js +72 -0
  29. package/dist/tools/corven-bounty.js.map +1 -0
  30. package/dist/tools/{collectives.d.ts → corven-collective.d.ts} +1 -1
  31. package/dist/tools/corven-collective.d.ts.map +1 -0
  32. package/dist/tools/corven-collective.js +105 -0
  33. package/dist/tools/corven-collective.js.map +1 -0
  34. package/dist/tools/corven-fiat.d.ts +3 -0
  35. package/dist/tools/corven-fiat.d.ts.map +1 -0
  36. package/dist/tools/corven-fiat.js +42 -0
  37. package/dist/tools/corven-fiat.js.map +1 -0
  38. package/dist/tools/corven-govern.d.ts +3 -0
  39. package/dist/tools/corven-govern.d.ts.map +1 -0
  40. package/dist/tools/corven-govern.js +65 -0
  41. package/dist/tools/corven-govern.js.map +1 -0
  42. package/dist/tools/{grants.d.ts → corven-grants.d.ts} +1 -1
  43. package/dist/tools/corven-grants.d.ts.map +1 -0
  44. package/dist/tools/corven-grants.js +67 -0
  45. package/dist/tools/corven-grants.js.map +1 -0
  46. package/dist/tools/{insurance.d.ts → corven-insurance.d.ts} +1 -1
  47. package/dist/tools/corven-insurance.d.ts.map +1 -0
  48. package/dist/tools/corven-insurance.js +103 -0
  49. package/dist/tools/corven-insurance.js.map +1 -0
  50. package/dist/tools/{market.d.ts → corven-market.d.ts} +1 -1
  51. package/dist/tools/corven-market.d.ts.map +1 -0
  52. package/dist/tools/corven-market.js +113 -0
  53. package/dist/tools/corven-market.js.map +1 -0
  54. package/dist/tools/corven-match.d.ts +3 -0
  55. package/dist/tools/corven-match.d.ts.map +1 -0
  56. package/dist/tools/corven-match.js +235 -0
  57. package/dist/tools/corven-match.js.map +1 -0
  58. package/dist/tools/corven-message.d.ts +3 -0
  59. package/dist/tools/corven-message.d.ts.map +1 -0
  60. package/dist/tools/corven-message.js +82 -0
  61. package/dist/tools/corven-message.js.map +1 -0
  62. package/dist/tools/corven-multi.d.ts +3 -0
  63. package/dist/tools/corven-multi.d.ts.map +1 -0
  64. package/dist/tools/corven-multi.js +197 -0
  65. package/dist/tools/corven-multi.js.map +1 -0
  66. package/dist/tools/corven-reputation.d.ts +3 -0
  67. package/dist/tools/corven-reputation.d.ts.map +1 -0
  68. package/dist/tools/corven-reputation.js +126 -0
  69. package/dist/tools/corven-reputation.js.map +1 -0
  70. package/dist/tools/{revisions.d.ts → corven-revision.d.ts} +1 -1
  71. package/dist/tools/corven-revision.d.ts.map +1 -0
  72. package/dist/tools/corven-revision.js +73 -0
  73. package/dist/tools/corven-revision.js.map +1 -0
  74. package/dist/tools/{router.d.ts → corven-router.d.ts} +1 -1
  75. package/dist/tools/corven-router.d.ts.map +1 -0
  76. package/dist/tools/corven-router.js +116 -0
  77. package/dist/tools/corven-router.js.map +1 -0
  78. package/dist/tools/corven-stats.d.ts +3 -0
  79. package/dist/tools/corven-stats.d.ts.map +1 -0
  80. package/dist/tools/corven-stats.js +97 -0
  81. package/dist/tools/corven-stats.js.map +1 -0
  82. package/dist/tools/corven-stream.d.ts +3 -0
  83. package/dist/tools/corven-stream.d.ts.map +1 -0
  84. package/dist/tools/corven-stream.js +197 -0
  85. package/dist/tools/corven-stream.js.map +1 -0
  86. package/dist/tools/corven-task.d.ts +3 -0
  87. package/dist/tools/corven-task.d.ts.map +1 -0
  88. package/dist/tools/corven-task.js +105 -0
  89. package/dist/tools/corven-task.js.map +1 -0
  90. package/dist/tools/{training.d.ts → corven-training.d.ts} +1 -1
  91. package/dist/tools/corven-training.d.ts.map +1 -0
  92. package/dist/tools/corven-training.js +73 -0
  93. package/dist/tools/corven-training.js.map +1 -0
  94. package/dist/tools/corven-verify.d.ts +3 -0
  95. package/dist/tools/corven-verify.d.ts.map +1 -0
  96. package/dist/tools/corven-verify.js +149 -0
  97. package/dist/tools/corven-verify.js.map +1 -0
  98. package/dist/tools/corven-wallet.d.ts +3 -0
  99. package/dist/tools/corven-wallet.d.ts.map +1 -0
  100. package/dist/tools/corven-wallet.js +235 -0
  101. package/dist/tools/corven-wallet.js.map +1 -0
  102. package/dist/tools/covenant-help.d.ts.map +1 -1
  103. package/dist/tools/covenant-help.js +88 -312
  104. package/dist/tools/covenant-help.js.map +1 -1
  105. package/dist/tools/disputes.d.ts.map +1 -1
  106. package/dist/tools/disputes.js +26 -0
  107. package/dist/tools/disputes.js.map +1 -1
  108. package/dist/types.d.ts +2 -0
  109. package/dist/types.d.ts.map +1 -1
  110. package/package.json +1 -1
  111. package/dist/abis/v2/DisputeResolution.json +0 -493
  112. package/dist/abis/v2/InsurancePool.json +0 -645
  113. package/dist/tools/account-abstraction.d.ts +0 -3
  114. package/dist/tools/account-abstraction.d.ts.map +0 -1
  115. package/dist/tools/account-abstraction.js +0 -364
  116. package/dist/tools/account-abstraction.js.map +0 -1
  117. package/dist/tools/batches.d.ts.map +0 -1
  118. package/dist/tools/batches.js +0 -231
  119. package/dist/tools/batches.js.map +0 -1
  120. package/dist/tools/bounties.d.ts.map +0 -1
  121. package/dist/tools/bounties.js +0 -304
  122. package/dist/tools/bounties.js.map +0 -1
  123. package/dist/tools/bridge.d.ts +0 -3
  124. package/dist/tools/bridge.d.ts.map +0 -1
  125. package/dist/tools/bridge.js +0 -190
  126. package/dist/tools/bridge.js.map +0 -1
  127. package/dist/tools/collectives.d.ts.map +0 -1
  128. package/dist/tools/collectives.js +0 -249
  129. package/dist/tools/collectives.js.map +0 -1
  130. package/dist/tools/cross-chain.d.ts +0 -3
  131. package/dist/tools/cross-chain.d.ts.map +0 -1
  132. package/dist/tools/cross-chain.js +0 -77
  133. package/dist/tools/cross-chain.js.map +0 -1
  134. package/dist/tools/escrow.d.ts +0 -3
  135. package/dist/tools/escrow.d.ts.map +0 -1
  136. package/dist/tools/escrow.js +0 -606
  137. package/dist/tools/escrow.js.map +0 -1
  138. package/dist/tools/fiat-onramp.d.ts +0 -3
  139. package/dist/tools/fiat-onramp.d.ts.map +0 -1
  140. package/dist/tools/fiat-onramp.js +0 -108
  141. package/dist/tools/fiat-onramp.js.map +0 -1
  142. package/dist/tools/governance.d.ts +0 -3
  143. package/dist/tools/governance.d.ts.map +0 -1
  144. package/dist/tools/governance.js +0 -271
  145. package/dist/tools/governance.js.map +0 -1
  146. package/dist/tools/grants.d.ts.map +0 -1
  147. package/dist/tools/grants.js +0 -269
  148. package/dist/tools/grants.js.map +0 -1
  149. package/dist/tools/insurance.d.ts.map +0 -1
  150. package/dist/tools/insurance.js +0 -271
  151. package/dist/tools/insurance.js.map +0 -1
  152. package/dist/tools/market.d.ts.map +0 -1
  153. package/dist/tools/market.js +0 -393
  154. package/dist/tools/market.js.map +0 -1
  155. package/dist/tools/matching.d.ts +0 -3
  156. package/dist/tools/matching.d.ts.map +0 -1
  157. package/dist/tools/matching.js +0 -233
  158. package/dist/tools/matching.js.map +0 -1
  159. package/dist/tools/messaging.d.ts +0 -3
  160. package/dist/tools/messaging.d.ts.map +0 -1
  161. package/dist/tools/messaging.js +0 -159
  162. package/dist/tools/messaging.js.map +0 -1
  163. package/dist/tools/multi-token.d.ts +0 -3
  164. package/dist/tools/multi-token.d.ts.map +0 -1
  165. package/dist/tools/multi-token.js +0 -274
  166. package/dist/tools/multi-token.js.map +0 -1
  167. package/dist/tools/offchain-coordinator.d.ts +0 -3
  168. package/dist/tools/offchain-coordinator.d.ts.map +0 -1
  169. package/dist/tools/offchain-coordinator.js +0 -436
  170. package/dist/tools/offchain-coordinator.js.map +0 -1
  171. package/dist/tools/protocol.d.ts +0 -3
  172. package/dist/tools/protocol.d.ts.map +0 -1
  173. package/dist/tools/protocol.js +0 -127
  174. package/dist/tools/protocol.js.map +0 -1
  175. package/dist/tools/receipts.d.ts +0 -3
  176. package/dist/tools/receipts.d.ts.map +0 -1
  177. package/dist/tools/receipts.js +0 -147
  178. package/dist/tools/receipts.js.map +0 -1
  179. package/dist/tools/registry.d.ts.map +0 -1
  180. package/dist/tools/registry.js +0 -245
  181. package/dist/tools/registry.js.map +0 -1
  182. package/dist/tools/reputation-vc.d.ts +0 -3
  183. package/dist/tools/reputation-vc.d.ts.map +0 -1
  184. package/dist/tools/reputation-vc.js +0 -438
  185. package/dist/tools/reputation-vc.js.map +0 -1
  186. package/dist/tools/revisions.d.ts.map +0 -1
  187. package/dist/tools/revisions.js +0 -108
  188. package/dist/tools/revisions.js.map +0 -1
  189. package/dist/tools/router.d.ts.map +0 -1
  190. package/dist/tools/router.js +0 -104
  191. package/dist/tools/router.js.map +0 -1
  192. package/dist/tools/streaming.d.ts +0 -3
  193. package/dist/tools/streaming.d.ts.map +0 -1
  194. package/dist/tools/streaming.js +0 -350
  195. package/dist/tools/streaming.js.map +0 -1
  196. package/dist/tools/templates.d.ts +0 -3
  197. package/dist/tools/templates.d.ts.map +0 -1
  198. package/dist/tools/templates.js +0 -392
  199. package/dist/tools/templates.js.map +0 -1
  200. package/dist/tools/training.d.ts.map +0 -1
  201. package/dist/tools/training.js +0 -304
  202. package/dist/tools/training.js.map +0 -1
  203. package/dist/tools/v2-settlement.d.ts +0 -3
  204. package/dist/tools/v2-settlement.d.ts.map +0 -1
  205. package/dist/tools/v2-settlement.js +0 -226
  206. package/dist/tools/v2-settlement.js.map +0 -1
  207. package/dist/tools/verification.d.ts +0 -3
  208. package/dist/tools/verification.d.ts.map +0 -1
  209. package/dist/tools/verification.js +0 -215
  210. package/dist/tools/verification.js.map +0 -1
  211. package/dist/tools/verify-deep.d.ts +0 -3
  212. package/dist/tools/verify-deep.d.ts.map +0 -1
  213. package/dist/tools/verify-deep.js +0 -125
  214. package/dist/tools/verify-deep.js.map +0 -1
@@ -1,147 +0,0 @@
1
- /**
2
- * ReceiptVerifier MCP Tools
3
- *
4
- * get_receipt_count — Get receipt count for an address
5
- * get_receipt — Verify a specific receipt on-chain by bytes32 ID
6
- * create_receipt — Issue an ERC-8004 attestation receipt
7
- */
8
- import { z } from "zod";
9
- import { isAddress } from "viem";
10
- import { loadAbi, CONTRACTS, getAccount } from "../config.js";
11
- import { executeOrPrepare, readContract } from "../handlers/wallet.js";
12
- import { formatTxResult, formatReadResult, formatError } from "../handlers/transactions.js";
13
- import { parseContractError, formatStructuredError } from "../lib/formatResponse.js";
14
- import { ethAddress } from "../lib/schemaHelpers.js";
15
- import { RECEIPT_TYPE } from "../types.js";
16
- import { stringToBytes32, isBytes32 } from "../utils.js";
17
- // V2 ReceiptVerifier doesn't have getReceiptsByAgent - use V1 ABI for that function
18
- const V1_ABI = loadAbi("ReceiptVerifier");
19
- const V2_ABI = loadAbi("ReceiptVerifier");
20
- // Input validation schemas
21
- const getAddressSchema = z.object({
22
- address: z.string().refine(isAddress, { message: "Invalid Ethereum address" })
23
- });
24
- const getReceiptSchema = z.object({
25
- receiptId: z.string().describe("Receipt ID as bytes32 hex string (0x...)")
26
- });
27
- const createReceiptSchema = z.object({
28
- issuer: z.string().refine(isAddress, { message: "Invalid issuer Ethereum address" }),
29
- counterparty: z.string().refine(isAddress, { message: "Invalid counterparty Ethereum address" }),
30
- interactionType: z.union([z.number().int().min(0).max(10), z.string()]).describe("Receipt type (0=TaskCompleted, 1=AgentVerified, etc.)"),
31
- dataHash: z.string().describe("Hash of the receipt data (will be converted to bytes32)"),
32
- });
33
- export function registerReceiptTools(server) {
34
- // ──────────────────────────────────────────────────────────────
35
- // get_receipts (list all receipts for an address)
36
- // ──────────────────────────────────────────────────────────────
37
- server.registerTool("corven_get_receipts", {
38
- title: "Get All Receipts for Address",
39
- description: "Fetch all ERC-8004 attestation receipts for an address. Returns receipt details including issuer, counterparty, type, and validity.\n" +
40
- "USE WHEN: You want to see all attestation receipts issued for a specific agent or address.\n" +
41
- "REQUIRES: The address must exist on-chain (may have zero receipts).\n" +
42
- "RETURNS: Array of receipt objects with issuer, counterparty, interaction type, data hash, and validity status.\n" +
43
- "COMES AFTER: corven_create_receipt issued receipts for this address.\n" +
44
- "COMES BEFORE: corven_get_receipt (inspect a specific receipt by ID).\n" +
45
- "NOTE: Returns all receipts where the address is either issuer or counterparty.",
46
- inputSchema: {
47
- address: ethAddress,
48
- },
49
- }, async ({ address }) => {
50
- try {
51
- const validationResult = getAddressSchema.safeParse({ address });
52
- if (!validationResult.success) {
53
- return formatError(new Error(`Invalid input: ${validationResult.error.issues.map((e) => e.message).join(", ")}`));
54
- }
55
- const data = await readContract(CONTRACTS.ReceiptVerifier, V1_ABI, "getReceiptsByAgent", [validationResult.data.address]);
56
- return formatReadResult({ address, receipts: data }, `Receipts for ${address}`);
57
- }
58
- catch (e) {
59
- const parsed = parseContractError(e);
60
- return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
61
- }
62
- });
63
- // get_receipt_count is merged into get_receipts (returns count alongside receipts)
64
- // ──────────────────────────────────────────────────────────────
65
- // get_receipt (was verify_receipt)
66
- // ──────────────────────────────────────────────────────────────
67
- server.registerTool("corven_get_receipt", {
68
- title: "Get Receipt by ID",
69
- description: "Retrieve a specific ERC-8004 receipt by its bytes32 ID. Returns the receipt details including issuer, counterparty, type, and validity.\n" +
70
- "USE WHEN: You know a receipt ID and want to inspect its full details and on-chain validity.\n" +
71
- "REQUIRES: The receipt ID must be a valid bytes32 hex string.\n" +
72
- "RETURNS: Receipt details including issuer, counterparty, interaction type, data hash, validity, and human-readable type label.\n" +
73
- "COMES AFTER: corven_create_receipt or corven_get_receipts provided the receipt ID.\n" +
74
- "COMES BEFORE: Use the receipt data to verify agent credentials or audit history.\n" +
75
- "NOTE: Accepts both raw bytes32 hex IDs and string-to-bytes32 converted IDs.",
76
- inputSchema: {
77
- receiptId: z.string().describe("Receipt ID as bytes32 hex string (0x...64 hex chars)"),
78
- },
79
- }, async ({ receiptId }) => {
80
- try {
81
- // Validate receiptId format
82
- const validationResult = getReceiptSchema.safeParse({ receiptId });
83
- if (!validationResult.success) {
84
- return formatError(new Error(`Invalid input: ${validationResult.error.issues.map((e) => e.message).join(", ")}`));
85
- }
86
- // Ensure receiptId is valid bytes32
87
- let receiptIdBytes32;
88
- if (isBytes32(receiptId)) {
89
- receiptIdBytes32 = receiptId;
90
- }
91
- else {
92
- // Try to convert string to bytes32
93
- receiptIdBytes32 = stringToBytes32(receiptId);
94
- }
95
- const data = await readContract(CONTRACTS.ReceiptVerifier, V2_ABI, "getReceipt", [receiptIdBytes32]);
96
- const enriched = {
97
- ...data,
98
- typeLabel: RECEIPT_TYPE[data.interactionType] ??
99
- `Unknown(${data.interactionType})`,
100
- };
101
- return formatReadResult(enriched, `Receipt ${receiptId}`);
102
- }
103
- catch (e) {
104
- const parsed = parseContractError(e);
105
- return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
106
- }
107
- });
108
- // ──────────────────────────────────────────────────────────────
109
- // corven_create_receipt
110
- // ──────────────────────────────────────────────────────────────
111
- server.registerTool("corven_create_receipt", {
112
- title: "Create Receipt",
113
- description: "Issue an ERC-8004 attestation receipt for a completed interaction. Only authorized issuers can create receipts.\n" +
114
- "USE WHEN: You want to create a portable on-chain attestation that proves a specific interaction occurred.\n" +
115
- "REQUIRES: You must be an authorized issuer. Both issuer and counterparty addresses must be valid.\n" +
116
- "RETURNS: Transaction hash. The receipt ID (bytes32) is emitted in the event logs.\n" +
117
- "COMES AFTER: A verifiable interaction occurred (task completion, agent verification, capability proof, etc.).\n" +
118
- "COMES BEFORE: corven_get_receipt or corven_get_receipts to retrieve the receipt.\n" +
119
- "NOTE: interactionType values: 0=TaskCompleted, 1=AgentVerified, 2=CapabilityProven, 3=ReputationVerified, 4=DisputeResolved, 5=InsuranceClaimed.",
120
- inputSchema: {
121
- issuer: ethAddress,
122
- counterparty: ethAddress,
123
- interactionType: z.union([z.number(), z.string()]).describe("Receipt type (0=TaskCompleted, 1=AgentVerified, etc.)"),
124
- dataHash: z.string().describe("Hash of the receipt data (will be converted to bytes32)"),
125
- },
126
- }, async ({ issuer, counterparty, interactionType, dataHash }) => {
127
- try {
128
- const validationResult = createReceiptSchema.safeParse({ issuer, counterparty, interactionType, dataHash });
129
- if (!validationResult.success) {
130
- return formatError(new Error(`Invalid input: ${validationResult.error.issues.map((e) => e.message).join(", ")}`));
131
- }
132
- const account = getAccount();
133
- if (!account) {
134
- return formatError(new Error("No private key configured — cannot send transactions"));
135
- }
136
- // Convert dataHash to bytes32
137
- const dataHashBytes32 = stringToBytes32(dataHash);
138
- const result = await executeOrPrepare(CONTRACTS.ReceiptVerifier, V2_ABI, "createReceipt", [issuer, counterparty, String(interactionType), dataHashBytes32]);
139
- return formatTxResult(result);
140
- }
141
- catch (e) {
142
- const parsed = parseContractError(e);
143
- return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
144
- }
145
- });
146
- }
147
- //# sourceMappingURL=receipts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"receipts.js","sourceRoot":"","sources":["../../src/tools/receipts.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuBzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2V1D"}
@@ -1,245 +0,0 @@
1
- /**
2
- * AgentRegistry MCP Tools
3
- *
4
- * register_agent — Register a new agent on-chain
5
- * get_agent — Look up an agent's profile by address
6
- * find_workers — Find agents by capability string
7
- * add_stake — Increase agent stake
8
- * deactivate_agent — Deactivate and withdraw stake
9
- * get_all_agents — List all registered agents
10
- */
11
- import { z } from "zod";
12
- import { parseEther, isAddress } from "viem";
13
- import { loadAbi, CONTRACTS, getAccount } from "../config.js";
14
- import { executeOrPrepare, readContract } from "../handlers/wallet.js";
15
- import { formatTxResult, formatReadResult } from "../handlers/transactions.js";
16
- import { formatSuccess, formatStructuredError, parseContractError } from "../lib/formatResponse.js";
17
- import { ethAddress, ethAmount, ethStake, agentName, capabilities } from "../lib/schemaHelpers.js";
18
- const ABI = loadAbi("AgentRegistry");
19
- // Input validation schemas
20
- const registerAgentSchema = z.object({
21
- name: z.string().min(1).max(100).regex(/^[a-zA-Z0-9\s\-_]+$/, "Agent name can only contain letters, numbers, spaces, hyphens, and underscores"),
22
- capabilities: z.array(z.string().min(1).max(50)).max(10, "Maximum 10 capabilities allowed"),
23
- stake: z.string().regex(/^\d+\.\d{1,18}$/, "Invalid ETH amount format").optional().default("0.001")
24
- .refine(val => {
25
- const stakeAmount = parseFloat(val);
26
- return stakeAmount >= 0.001 && stakeAmount <= 100;
27
- }, { message: "Stake must be between 0.001 and 100 ETH" })
28
- });
29
- const getAgentSchema = z.object({
30
- address: z.string().refine(isAddress, { message: "Invalid Ethereum address" })
31
- });
32
- const findWorkersSchema = z.object({
33
- capability: z.string().min(1).max(50)
34
- });
35
- export function registerAgentTools(server) {
36
- // ──────────────────────────────────────────────────────────────
37
- // register_agent
38
- // ──────────────────────────────────────────────────────────────
39
- server.registerTool("corven_register_agent", {
40
- title: "Register Agent",
41
- description: "Creates a permanent on-chain identity for an AI agent on COVENANT.\n" +
42
- "USE WHEN: First-time setup for any wallet that wants to post tasks, receive tasks, or earn ETH. Call exactly once per wallet address.\n" +
43
- "REQUIRES: Wallet with at least 0.001 ETH for stake deposit plus ~0.0002 ETH gas.\n" +
44
- "RETURNS: Agent DID, reputation score (starts at 500/1000), txHash, Basescan URL, and next steps.\n" +
45
- "COMES BEFORE: All other tools. Nothing works without this.\n" +
46
- "NOTE: Already registered? Use corven_get_agent instead. Registration is permanent.",
47
- inputSchema: {
48
- name: agentName,
49
- capabilities: capabilities,
50
- stake: ethStake,
51
- },
52
- }, async ({ name, capabilities, stake }) => {
53
- try {
54
- // Validate input
55
- const validationResult = registerAgentSchema.safeParse({ name, capabilities, stake });
56
- if (!validationResult.success) {
57
- return formatStructuredError("Invalid input parameters.", validationResult.error.issues.map((e) => e.message).join(", "), "Check name format (alphanumeric, hyphens, underscores), capabilities (1-10 items), and stake (0.001-100 ETH decimal string).", true);
58
- }
59
- const validatedName = validationResult.data.name;
60
- const validatedCapabilities = validationResult.data.capabilities;
61
- const validatedStake = validationResult.data.stake;
62
- const account = getAccount();
63
- if (!account) {
64
- return formatStructuredError("No private key configured.", "PRIVATE_KEY environment variable is not set.", "Set PRIVATE_KEY in your .env file to a valid Ethereum private key with ETH on Base Sepolia.", false);
65
- }
66
- const stakeAmount = parseEther(validatedStake);
67
- const result = await executeOrPrepare(CONTRACTS.AgentRegistry, ABI, "register", [validatedName, validatedCapabilities], stakeAmount);
68
- if (result.status === "success") {
69
- return formatSuccess(`Agent '${validatedName}' registered on COVENANT with reputation 500/1000 and ${validatedCapabilities.length} capabilities.`, {
70
- agentName: validatedName,
71
- walletAddress: account,
72
- reputation: 500,
73
- capabilities: validatedCapabilities,
74
- stakeDeposited: `${validatedStake} ETH`,
75
- isActive: true,
76
- }, result.txHash, [
77
- "Registration complete. To find tasks as a worker: corven_get_worker_tasks.",
78
- "To post a task as a client: corven_create_task or corven_post_open_task.",
79
- "To see your full profile: corven_get_agent with your wallet address.",
80
- ]);
81
- }
82
- return formatTxResult(result);
83
- }
84
- catch (e) {
85
- const parsed = parseContractError(e);
86
- return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
87
- }
88
- });
89
- // ──────────────────────────────────────────────────────────────
90
- // get_agent
91
- // ──────────────────────────────────────────────────────────────
92
- server.registerTool("corven_get_agent", {
93
- title: "Get Agent Profile",
94
- description: "Fetches the complete on-chain profile for any registered agent.\n" +
95
- "USE WHEN: Checking if an agent is registered before hiring them. Verifying your own reputation. Researching a potential worker.\n" +
96
- "REQUIRES: Nothing. Free read-only call. No gas cost.\n" +
97
- "RETURNS: Name, DID, reputation (0-1000), capabilities, stake amount, tasks completed, tasks failed, active status.\n" +
98
- "COMES AFTER: corven_find_workers when you want full details on a candidate.",
99
- inputSchema: {
100
- address: ethAddress,
101
- },
102
- }, async ({ address }) => {
103
- try {
104
- const validationResult = getAgentSchema.safeParse({ address });
105
- if (!validationResult.success) {
106
- return formatStructuredError("Invalid Ethereum address.", `Received '${address}' — must be a full 42-character 0x address.`, "Pass the full address starting with 0x. Example: 0x715f3b64189EcA51a57567962Cd2278dc7a5e92C", false);
107
- }
108
- const validatedAddress = validationResult.data.address;
109
- const data = await readContract(CONTRACTS.AgentRegistry, ABI, "getAgent", [validatedAddress]);
110
- return formatReadResult(data, `Agent profile for ${address}`);
111
- }
112
- catch (e) {
113
- const parsed = parseContractError(e);
114
- return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
115
- }
116
- });
117
- // ──────────────────────────────────────────────────────────────
118
- // find_workers
119
- // ──────────────────────────────────────────────────────────────
120
- server.registerTool("corven_find_workers", {
121
- title: "Find Workers by Capability",
122
- description: "Searches the registry for active agents with a specific capability. Returns them sorted by reputation highest first.\n" +
123
- "USE WHEN: Before creating any task. This is how you discover who can do the work.\n" +
124
- "REQUIRES: Nothing. Free read-only call. No gas cost.\n" +
125
- "RETURNS: Array of agent profiles with address, name, reputation score, success rate, active task count.\n" +
126
- "COMES BEFORE: corven_create_task or corven_post_open_task. Use the returned address as the worker parameter.\n" +
127
- "NOTE: The first result has the highest reputation. For high-value tasks, always use a high-reputation worker.",
128
- inputSchema: {
129
- capability: z
130
- .string()
131
- .describe('The capability tag to search for. ' +
132
- 'Valid values: "data-analysis", "code-review", "content-writing", ' +
133
- '"financial-analysis", "research", "translation", "testing", ' +
134
- '"security-audit", "documentation", "smart-contract", "python", ' +
135
- '"visualization", "api-integration", "ml-training", "design". ' +
136
- 'Returns all active agents with this capability sorted by reputation.'),
137
- },
138
- }, async ({ capability }) => {
139
- try {
140
- const validationResult = findWorkersSchema.safeParse({ capability });
141
- if (!validationResult.success) {
142
- return formatStructuredError("Invalid capability string.", `Received '${capability}' — must be 1-50 characters.`, "Pass a valid capability tag like 'data-analysis', 'code-review', or 'research'.", true);
143
- }
144
- const validatedCapability = validationResult.data.capability;
145
- const addresses = (await readContract(CONTRACTS.AgentRegistry, ABI, "getAgentsByCapability", [capability]));
146
- if (addresses.length === 0) {
147
- return formatReadResult({ capability, count: 0, workers: [] }, `No workers found for "${capability}"`);
148
- }
149
- const workers = await Promise.all(addresses.map(async (addr) => {
150
- const profile = await readContract(CONTRACTS.AgentRegistry, ABI, "getAgent", [addr]);
151
- return { address: addr, ...profile };
152
- }));
153
- workers.sort((a, b) => Number(b.reputation ?? 0) - Number(a.reputation ?? 0));
154
- return formatReadResult({ capability, count: workers.length, workers }, `Workers with capability "${capability}"`);
155
- }
156
- catch (e) {
157
- const parsed = parseContractError(e);
158
- return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
159
- }
160
- });
161
- // ──────────────────────────────────────────────────────────────
162
- // corven_add_stake
163
- // ──────────────────────────────────────────────────────────────
164
- server.registerTool("corven_add_stake", {
165
- title: "Add Stake",
166
- description: "Adds additional ETH stake to your existing agent registration. Higher stake increases trust and priority.\n" +
167
- "USE WHEN: Boosting your agent's reputation weight. Preparing for high-value tasks that favor staked agents.\n" +
168
- "REQUIRES: You must be a registered agent. Wallet needs the stake amount plus ~0.0002 ETH gas.\n" +
169
- "RETURNS: Amount added, total stake, txHash, Basescan link.\n" +
170
- "COMES AFTER: corven_register_agent (must be registered first).\n" +
171
- "COMES BEFORE: Higher stake improves ranking in corven_find_workers results.\n" +
172
- "NOTE: Stake is withdrawable via corven_deactivate_agent when you leave the protocol.",
173
- inputSchema: {
174
- amount: ethAmount,
175
- },
176
- }, async ({ amount }) => {
177
- try {
178
- const account = getAccount();
179
- if (!account) {
180
- return formatStructuredError("No private key configured.", "PRIVATE_KEY environment variable is not set.", "Set PRIVATE_KEY in your .env file.", false);
181
- }
182
- const stakeAmount = parseEther(amount);
183
- const result = await executeOrPrepare(CONTRACTS.AgentRegistry, ABI, "addStake", [], stakeAmount);
184
- if (result.status === "success") {
185
- return formatSuccess(`Added ${amount} ETH to stake.`, { amount: `${amount} ETH`, txHash: result.txHash }, result.txHash, ["Your increased stake will be reflected in your agent profile on the next query."]);
186
- }
187
- return formatTxResult(result);
188
- }
189
- catch (e) {
190
- const parsed = parseContractError(e);
191
- return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
192
- }
193
- });
194
- // ──────────────────────────────────────────────────────────────
195
- // corven_deactivate_agent
196
- // ──────────────────────────────────────────────────────────────
197
- server.registerTool("corven_deactivate_agent", {
198
- title: "Deactivate Agent",
199
- description: "Deactivates your agent registration and withdraws all staked ETH to your wallet.\n" +
200
- "USE WHEN: Permanently leaving the protocol. Withdrawing your security deposit.\n" +
201
- "REQUIRES: You must be a registered and active agent. No active (InProgress) tasks.\n" +
202
- "RETURNS: Deactivation confirmation, wallet address that received stake, txHash.\n" +
203
- "COMES AFTER: All tasks are completed or cancelled.\n" +
204
- "NOTE: IRREVERSIBLE. Your agent is permanently removed from the registry. To return, use a different wallet address with corven_register_agent.",
205
- inputSchema: {},
206
- }, async () => {
207
- try {
208
- const account = getAccount();
209
- if (!account) {
210
- return formatStructuredError("No private key configured.", "PRIVATE_KEY environment variable is not set.", "Set PRIVATE_KEY in your .env file.", false);
211
- }
212
- const result = await executeOrPrepare(CONTRACTS.AgentRegistry, ABI, "deactivate", []);
213
- if (result.status === "success") {
214
- return formatSuccess("Agent deactivated. Staked ETH will be returned to your wallet.", { deactivated: true, wallet: account }, result.txHash, ["Registration is permanent. To re-activate, use a different wallet address."]);
215
- }
216
- return formatTxResult(result);
217
- }
218
- catch (e) {
219
- const parsed = parseContractError(e);
220
- return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
221
- }
222
- });
223
- // ──────────────────────────────────────────────────────────────
224
- // corven_get_all_agents
225
- // ──────────────────────────────────────────────────────────────
226
- server.registerTool("corven_get_all_agents", {
227
- title: "Get All Agents",
228
- description: "Returns the addresses of every registered agent on the protocol.\n" +
229
- "USE WHEN: Building a directory. Discovering all participants. Checking protocol adoption.\n" +
230
- "REQUIRES: Nothing. Free read-only call.\n" +
231
- "RETURNS: Count and array of Ethereum addresses. Each needs corven_get_agent for full profile.\n" +
232
- "COMES BEFORE: Call corven_get_agent on each address to get name, reputation, capabilities, and stake.",
233
- inputSchema: {},
234
- }, async () => {
235
- try {
236
- const addresses = await readContract(CONTRACTS.AgentRegistry, ABI, "getAllAgents", []);
237
- return formatReadResult({ count: addresses.length, agents: addresses }, "All Registered Agents");
238
- }
239
- catch (e) {
240
- const parsed = parseContractError(e);
241
- return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
242
- }
243
- });
244
- }
245
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerReputationVCTools(server: McpServer): void;
3
- //# sourceMappingURL=reputation-vc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reputation-vc.d.ts","sourceRoot":"","sources":["../../src/tools/reputation-vc.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6LzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkYjE"}