Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
1d33524
chore: add viem and bech32 dependencies for ERC-8004 identity tools
arcayne Apr 3, 2026
1d83cd3
feat: add identity config, ABIs for ERC-8004 registry contracts
arcayne Apr 3, 2026
cc37a41
feat: add identity error classes for ERC-8004 operations
arcayne Apr 3, 2026
afe685c
feat: add viem client factory for ERC-8004 identity contracts
arcayne Apr 3, 2026
7cb780c
fix(identity): correct ReputationRegistry ABI field name and add chai…
arcayne Apr 3, 2026
055835d
feat(identity): implement register, update, deregister handlers
arcayne Apr 3, 2026
4afc1c2
fix(identity): address code quality review findings
arcayne Apr 3, 2026
cf5a543
feat(identity): implement agent_status and agent_list read handlers
arcayne Apr 3, 2026
fd81332
fix(identity): pre-normalize owner filter and add error wrapping in l…
arcayne Apr 3, 2026
f65d539
feat(identity): register 5 ERC-8004 identity tools in MCP server
arcayne Apr 3, 2026
242a772
test(identity): add integration tests for ERC-8004 identity tools
arcayne Apr 3, 2026
31075db
docs: add ERC-8004 identity tools to README
arcayne Apr 3, 2026
2966256
fix(identity): address final review findings
arcayne Apr 3, 2026
e8d885c
refactor(identity): simplify with DRY helpers, caching, and parallel …
arcayne Apr 3, 2026
f9c24d1
feat(identity): add metadata encode/decode and EIP-712 wallet-link he…
arcayne Apr 3, 2026
8c1856b
fix(identity): replace assumed ABI with real IdentityRegistryUpgradea…
arcayne Apr 3, 2026
5dd4955
fix(identity): rewrite write handlers to match real IdentityRegistryU…
arcayne Apr 3, 2026
e0df565
fix(identity): rewrite read handlers to match real IdentityRegistryUp…
arcayne Apr 3, 2026
0e74f09
fix(identity): update tool schemas for string-based type and builderCode
arcayne Apr 3, 2026
b0722de
fix(identity): update integration test for real contract ABI
arcayne Apr 3, 2026
e530781
chore: remove ABI probe scripts, update demo script
arcayne Apr 3, 2026
e75ef88
refactor(identity): extract wallet-link helper, add metadata key cons…
arcayne Apr 3, 2026
a1ba92f
fix(identity): fix event parsing, deadline, and reputation handling f…
arcayne Apr 3, 2026
aa77f51
feat(identity): add AgentCard types, PinataStorage, and card generation
arcayne Apr 3, 2026
568336c
feat(identity): integrate agent card generation and IPFS upload into …
arcayne Apr 3, 2026
dfcfb2b
feat(identity): add description, image, and services params to agent …
arcayne Apr 3, 2026
97e0e10
refactor(identity): simplify card+IPFS integration from review feedback
arcayne Apr 3, 2026
37e5e89
chore: remove debug and probe scripts
arcayne Apr 3, 2026
ac135bc
fix(identity): replace fake reputation ABI with real ReputationRegist…
arcayne Apr 3, 2026
891760e
feat(identity): add reputation read/write tools (agent_reputation, ag…
arcayne Apr 3, 2026
00723d4
fix(identity): fix feedback event parsing and getSummary client requi…
arcayne Apr 3, 2026
e698999
chore: remove debug scripts
arcayne Apr 3, 2026
52749f8
fix(identity): use canonical EIP-8004 card type URI
arcayne Apr 3, 2026
65854d2
fix(identity): add event topic check to giveFeedback log extraction
arcayne Apr 3, 2026
47c084e
feat: add @injective/agent-sdk as file dependency
arcayne Apr 5, 2026
ff2f267
refactor(identity): converge onto @injective/agent-sdk
arcayne Apr 5, 2026
306ae3b
refactor(identity): simplify adapter after /simplify review
arcayne Apr 5, 2026
c076023
demo: add identity workflow demonstration
arcayne Apr 5, 2026
1da29f0
test(integration): add end-to-end testnet integration tests
arcayne Apr 5, 2026
4dfb92b
test: add quick E2E test script for testnet
arcayne Apr 5, 2026
471c787
docs: document wallet linking deadline bug from SDK
arcayne Apr 5, 2026
a9d8ca5
fix(e2e): skip self-feedback in quick test, mark SDK deadline bug res…
arcayne Apr 5, 2026
98606a6
refactor(tests): fix address mismatch, consolidate timestamps, parall…
arcayne Apr 5, 2026
2544d15
feat(identity): add x402 flag support to register/update; add create-…
arcayne Apr 5, 2026
f25572f
chore: remove dev scripts and working docs from repo
arcayne Apr 6, 2026
9120c0a
fix(identity): align Zod service schemas with SDK name/endpoint conve…
arcayne Apr 10, 2026
177f96f
feat(identity): add actions passthrough to agent_register and agent_u…
arcayne Apr 10, 2026
ade1558
feat(identity): forward supportedTrust/tags/version/license/sourceCod…
arcayne Apr 17, 2026
032030a
chore: pin pnpm version via packageManager field
arcayne Apr 17, 2026
4cf1a97
fix(identity): address PR #11 review feedback
arcayne Apr 27, 2026
77063b2
fix(identity): pin SDK via git URL, drop deregister for v2 contract
arcayne Apr 28, 2026
b13f153
fix(identity): address ckhbtc's 4 remaining nits via SDK 0.2.1
arcayne Apr 28, 2026
1176f47
chore(identity): drop dead branches + declare missing transitive deps
arcayne Apr 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
node_modules/
dist/
package-lock.json
*.js.map
*.d.ts.map
.env
Expand All @@ -13,3 +14,10 @@ ai_plan.md
ai_comm.md
*.swp
*.swo

# Vitest build cache artifacts
*.timestamp-*.mjs

# Dev/exploratory scripts and working docs (not part of the published package)
scripts/
docs/
29 changes: 26 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Injective MCP Server

An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server that gives AI agents full trading capabilities on [Injective](https://injective.com) — perpetual futures, spot transfers, cross-chain bridging, and raw EVM transactions.
An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server that gives AI agents full trading capabilities on [Injective](https://injective.com) — perpetual futures, spot transfers, cross-chain bridging, raw EVM transactions, and on-chain agent identity (ERC-8004).

Connect it to Claude Desktop or Claude Code and trade with natural language.

Expand Down Expand Up @@ -56,15 +56,29 @@ Connect it to Claude Desktop or Claude Code and trade with natural language.
|---|---|
| `evm_broadcast` | Broadcast a raw EVM transaction on Injective EVM. |

### Identity (ERC-8004)
| Tool | Description |
|---|---|
| `agent_register` | Register a new AI agent identity on the ERC-8004 registry. Costs gas. |
| `agent_update` | Update agent metadata, token URI, or linked wallet. Costs gas. |
| `agent_status` | Get full agent details: metadata, wallet, owner, reputation. Read-only. |
| `agent_list` | Find registered agents with optional owner/type filters. Read-only. |
| `agent_reputation` | Get aggregated reputation summary (score, count, evaluator addresses). Read-only. |
| `agent_feedback_list` | List individual feedback entries with values, tags, and revocation status. Read-only. |
| `agent_give_feedback` | Submit on-chain feedback for an agent. Costs gas. |
| `agent_revoke_feedback` | Revoke previously submitted feedback. Costs gas. |

Comment thread
coderabbitai[bot] marked this conversation as resolved.
---

## Setup

```bash
npm install
npm run build
pnpm install
pnpm build
```

Requires [pnpm](https://pnpm.io/) — the project pins it via `packageManager` and uses `pnpm.onlyBuiltDependencies` to allow the `@injective/agent-sdk` git dep to run its `prepare` script during install.

### Connect to Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
Expand Down Expand Up @@ -208,3 +222,12 @@ Token metadata (symbol, decimals) is resolved automatically against on-chain reg
| Testnet | `testnet` |

Testnet faucet: https://testnet.faucet.injective.network/

---

## Environment

| Variable | Required for | Description |
|---|---|---|
| `INJECTIVE_NETWORK` | All tools | `mainnet` (default) or `testnet`. |
| `PINATA_JWT` | `agent_register` (no `uri`), `agent_update` with card-affecting fields | Pinata JWT used to upload Agent Cards to IPFS. Skip if you always pass a pre-built `uri`. Get one at [pinata.cloud](https://pinata.cloud/). |
Loading