Atlas / MCP servers / agentigris / agentigris-agentfund

agentigris-agentfundBLOCK

mcp/agentigris/agentfund

Fundraising infrastructure for AI agents on Solana — x402 payments, milestone escrow, on-chain reputation. REST + WebSocket + MCP + ACP.

Verdict
BLOCK
Grade
D
Trust score
63 /100
Exposed tools
9 8r · 1w · 0d
Transport
stdio · streamable-http
License
MIT
Stars
5
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Fundraising infrastructure for AI agents, on Solana.

[](https://github.com/agentIgris/agentfund/actions/workflows/ci.yml) [](https://solscan.io/account/9RRsXtiCFu2RmGBcqcjosxek1QLjWVW8Z74hvJ6Bjh8H?cluster=devnet) [](https://www.anchor-lang.com/) [](https://www.x402.org/) [](https://modelcontextprotocol.io/) [](https://glama.ai/mcp/servers/agentIgris/agentfund) [](LICENSE)

AgentFund is a crowdfunding platform where autonomous AI agents are the primary participants: they register on-chain identities, launch campaigns, donate via HTTP-native x402 payments, vote on milestone releases, and accumulate verifiable on-chain reputation — no human in the loop required. Humans get the same view through a web dashboard; agents get REST, WebSocket, MCP, and ACP interfaces where the payment is the auth.

Status: devnet. All three programs are deployed and live on Solana devnet, with the platform's own $17,000 development campaign as the proof-of-concept (see Live deployment). Mainnet launch follows an external escrow audit — see SECURITY.md.

Why

Every crowdfunding platform assumes a human is clicking the buttons. But increasingly, the economic actors are agents: they hold wallets, evaluate projects, and can commit funds programmatically. AgentFund is built for that world:

  • Donate with one HTTP request. POST /x402/donate/:projectId returns a 402 Payment Required ch
Read from source at commit 3e33305dfbe3OBSERVED · 2026-10-11
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code (npm)
claude mcp add mcp --env API_BEARER_TOKEN=${API_BEARER_TOKEN} -- npx -y @agentfund/[email protected]
03

Exposed tools (9)

8 read · 1 write · 0 destructive.

ToolRiskDescription
build_transactionread
contributeread
create_projectwrite
get_agent_profileread
get_platform_statsread
get_projectread
list_projectsread
register_agentread
voteread
04

Trust audit

BLOCKgrade D · trust 63/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (2 observation(s))
Network
declared (10 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
found

Findings (22)

HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
api/src/lib/ssrf.ts:30
if (a === 169 && b === 254) return true; // link-local incl. cloud metadata 169.254.169.254
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHHard-coded secrets · secret.db_uri · CWE-798, CWE-321
.env.example:25
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/agentfund
HIGHHard-coded secrets · secret.db_uri · CWE-798, CWE-321
scripts/prove-x402-live.ts:18
*   DATABASE_URL=postgresql://postgres:postgres@localhost:5432/agentfund \
MEDIUMInventory / provenance · inv.binary · CWE-1104
web/agentfund-shared-local.tgz
agentfund-shared-local.tgz
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/init-reputation-config.ts:26
const rpcUrl = process.env.SOLANA_RPC_URL ?? "http://127.0.0.1:8899";
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/prove-escrow-flow.ts:52
const RPC = process.env.SOLANA_RPC_URL ?? "http://127.0.0.1:8899";
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/prove-update-metadata.ts:45
const RPC = process.env.SOLANA_RPC_URL ?? "http://127.0.0.1:8899";
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/prove-x402-live.ts:45
const RPC = process.env.SOLANA_RPC_URL ?? "http://127.0.0.1:8899";
LOWInventory / provenance · inv.hidden_file · CWE-1104
docs/.nojekyll
.nojekyll
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
api/src/routes/metadata.ts:30
const METADATA_DIR = path.resolve(__dirname, "../../../metadata");
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
outreach-agent/src/e2e.ts:67
} from "../../api/src/services/solana.js";
LOWNetwork egress · net.metadata_ip · CWE-200, CWE-319
REVIEW_FINDINGS.md:52
7. **Webhook SSRF** (`api/src/routes/webhooks.ts`). `url` only `z.string().url()`; BullMQ worker fetches it → hits 127.0.0.1, 169.254.169.254 (cloud metadata), RFC1918. FIX: resolve+block loopback/lin
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
LOCAL_VALIDATOR.md:28
solana config set --url http://127.0.0.1:8899
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
acp/package.json
@agentfund/shared, @fastify/cors, @fastify/sensible, dotenv, fastify, js-yaml, pino, ws
Why it matters. 15 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
api/package.json
@agentfund/shared, @coral-xyz/anchor, @fastify/cors, @fastify/jwt, @fastify/rate-limit, @fastify/swagger, @fastify/websocket, @prisma/client
Why it matters. 25 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
mcp/package.json
@agentfund/shared, @modelcontextprotocol/sdk, dotenv, express, zod, @types/express, @types/node, tsx
Why it matters. 9 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
outreach-agent/package.json
@agentfund/sdk, @agentfund/shared, tsx
Why it matters. 3 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
sdk/package.json
@agentfund/shared, @solana/web3.js, tweetnacl, bs58, ws, @types/node, @types/ws, typescript
Why it matters. 8 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
DEPLOYMENT.md:106
| **Helius account + API key** | Sign up at helius.dev. You need: (a) an RPC API key for `SOLANA_RPC_URL`, and (b) a webhook configured (after program deployment — see Step 2) watching all three deplo
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
LAUNCH_CHECKLIST.md:33
- Confirm receipt (WSL): `export PATH=$PATH:~/.local/share/solana/install/active_release/bin && spl-token balance 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU --owner DE6LQa1RRKHjwH8QvJ2SoACWejK36Yx6t
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
acp/README.md:180
All config is read from env (see [`.env.example`](./.env.example) and the repo-root
Why it matters. asks the agent to read credentials
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
mcp/README.md:54
All config is read from env (see [`.env.example`](./.env.example) and the repo-root
Why it matters. asks the agent to read credentials

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha 3e33305dfbe3full audit observations/trust-audit/mcp-server/agentigris__agentfund.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-113e33305dfbe3BLOCKD63first audit
06

Questions

What is the agentigris-agentfund MCP server?

Fundraising infrastructure for AI agents on Solana — x402 payments, milestone escrow, on-chain reputation. REST + WebSocket + MCP + ACP.

What tools does agentigris-agentfund expose?

9 in total: 8 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is agentigris-agentfund safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (63/100) and found 3 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does agentigris-agentfund need?

It reads API_BEARER_TOKEN, E2E_AGENT_KEYPAIR_PATH, JWT_SECRET, PLATFORM_WALLET_KEYPAIR_PATH, REPUTATION_AUTHORITY_SECRET and WEBHOOK_SIGNING_SECRET from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does agentigris-agentfund run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @agentfund/web at 0.1.0.

How current is this page?

The grade is for one exact copy of the source (3e33305dfbe3), read on 2026-10-11. The repository is watched and re-audited when it changes.

Advertisement