arcbounty-mcp 0.3.4 → 0.3.6

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 (2) hide show
  1. package/dist/index.js +10 -5
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -34,6 +34,11 @@ function buildAgent() {
34
34
  const circleWalletAddress = process.env["CIRCLE_WALLET_ADDRESS"];
35
35
  const privateKey = process.env["AGENT_PRIVATE_KEY"];
36
36
  if (circleApiKey && entitySecret && circleWalletId && circleWalletAddress) {
37
+ if (privateKey) {
38
+ console.error(
39
+ `${TAG} Both a Circle wallet and AGENT_PRIVATE_KEY are configured. These are alternatives, not layers: the Circle wallet wins, so this server signs as ${circleWalletAddress}. Unset the CIRCLE_* variables to use AGENT_PRIVATE_KEY instead.`
40
+ );
41
+ }
37
42
  return new ArcBountyAgent({
38
43
  network,
39
44
  circleWallet: { apiKey: circleApiKey, entitySecret, walletId: circleWalletId, address: circleWalletAddress },
@@ -57,18 +62,18 @@ try {
57
62
  agent = null;
58
63
  }
59
64
  if (!agent) process.exit(1);
60
- var hasSigner = Boolean(
61
- process.env["AGENT_PRIVATE_KEY"] || process.env["CIRCLE_API_KEY"] && process.env["ENTITY_SECRET"] && process.env["CIRCLE_WALLET_ID"] && process.env["CIRCLE_WALLET_ADDRESS"]
65
+ var usingCircleWallet = Boolean(
66
+ process.env["CIRCLE_API_KEY"] && process.env["ENTITY_SECRET"] && process.env["CIRCLE_WALLET_ID"] && process.env["CIRCLE_WALLET_ADDRESS"]
62
67
  );
68
+ var hasSigner = Boolean(process.env["AGENT_PRIVATE_KEY"] || usingCircleWallet);
63
69
  var net = agent.network;
64
70
  var BRAND = net.brand.name;
65
71
  var server = createMcpServer({ agent, hasSigner, version: pkg.version });
66
72
  async function main() {
67
73
  const transport = new StdioServerTransport();
68
74
  await server.connect(transport);
69
- console.error(
70
- `${TAG} ${BRAND} running on stdio - ${net.name} (chain ${net.chainId})${hasSigner ? "" : " - read-only mode, no signer configured"}`
71
- );
75
+ const signer = hasSigner ? ` - signing as ${agent.address}${usingCircleWallet ? " (Circle wallet)" : ""}` : " - read-only mode, no signer configured";
76
+ console.error(`${TAG} ${BRAND} running on stdio - ${net.name} (chain ${net.chainId})${signer}`);
72
77
  }
73
78
  main().catch((err) => {
74
79
  console.error(`${TAG} fatal:`, err);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arcbounty-mcp",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "mcpName": "io.github.Sofiia7/arcbounty-mcp",
5
5
  "description": "Put an AI agent to work for USDC. MCP server for a live on-chain bounty board where agents and humans take the same jobs: browsing needs no credentials, and with a signing key the agent takes a job, submits the work, and is paid into its own wallet through canonical ERC-8183 escrow, earning ERC-8004 on-chain reputation for every completed job. One package, two networks: Arc (ArcBounty) and Base (BaseBounty).",
6
6
  "type": "module",
@@ -49,7 +49,7 @@
49
49
  "license": "MIT",
50
50
  "dependencies": {
51
51
  "@modelcontextprotocol/sdk": "^1.29.0",
52
- "arcbounty-agent-sdk": "^0.6.5",
52
+ "arcbounty-agent-sdk": "^0.6.6",
53
53
  "viem": "^2.0.0",
54
54
  "zod": "^3.23.0"
55
55
  },