Skip to content

Commit afbbed5

Browse files
authored
Merge pull request #9 from szhygulin/release/0.2.1-mcp-registry
v0.2.1: publish to official MCP Registry
2 parents 3c1ec85 + 4c4dbb5 commit afbbed5

4 files changed

Lines changed: 86 additions & 4 deletions

File tree

.github/workflows/publish.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,17 @@ jobs:
3838
- name: Run tests
3939
run: npm test
4040

41-
- name: Publish
41+
- name: Publish to npm
4242
# Node 22 ships npm 10.x; Trusted Publisher OIDC token exchange
4343
# needs npm >= 11.5.1, so invoke latest npm via npx just for this step.
4444
run: npx --yes npm@latest publish --provenance --access public
45+
46+
- name: Install mcp-publisher
47+
run: |
48+
curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
49+
50+
- name: Authenticate to MCP Registry (GitHub OIDC)
51+
run: ./mcp-publisher login github-oidc
52+
53+
- name: Publish to MCP Registry
54+
run: ./mcp-publisher publish

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "recon-crypto-mcp",
3-
"version": "0.2.0",
3+
"version": "0.2.1",
4+
"mcpName": "io.github.szhygulin/recon-crypto-mcp",
45
"description": "MCP server for AI agents (Claude Code, Claude Desktop, Cursor) to manage a self-custodial crypto portfolio through a Ledger hardware wallet. Reads on-chain wallet balances, ENS, token prices, and DeFi positions across Ethereum/Arbitrum/Polygon (Aave V3, Compound V3, Morpho Blue, Uniswap V3 LP, Lido stETH, EigenLayer), surfaces liquidation/health-factor alerts and protocol risk scores, then prepares unsigned EVM transactions (supply, borrow, repay, withdraw, stake, unstake, native/ERC-20 send, and LiFi-routed swaps and cross-chain bridges) that the user signs on their Ledger device via WalletConnect — private keys never leave the hardware wallet.",
56
"type": "module",
67
"main": "dist/index.js",

server.json

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
{
2+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3+
"name": "io.github.szhygulin/recon-crypto-mcp",
4+
"title": "Recon Crypto MCP",
5+
"description": "MCP server for AI agents (Claude, Cursor) to manage a self-custodial crypto portfolio on Ethereum/Arbitrum/Polygon via Ledger + WalletConnect. Reads on-chain DeFi positions (Aave V3, Compound V3, Morpho Blue, Uniswap V3 LP, Lido, EigenLayer), surfaces liquidation/health-factor alerts, and prepares unsigned EVM transactions (supply, borrow, repay, withdraw, stake, unstake, native/ERC-20 send, LiFi-routed swaps and bridges) that the user signs on their Ledger device. Private keys never leave the hardware wallet.",
6+
"version": "0.2.1",
7+
"websiteUrl": "https://github.com/szhygulin/recon-crypto-mcp",
8+
"repository": {
9+
"url": "https://github.com/szhygulin/recon-crypto-mcp",
10+
"source": "github"
11+
},
12+
"packages": [
13+
{
14+
"registryType": "npm",
15+
"registryBaseUrl": "https://registry.npmjs.org",
16+
"identifier": "recon-crypto-mcp",
17+
"version": "0.2.1",
18+
"transport": { "type": "stdio" },
19+
"environmentVariables": [
20+
{
21+
"name": "ETHEREUM_RPC_URL",
22+
"description": "Custom Ethereum RPC endpoint (alternative to RPC_PROVIDER + RPC_API_KEY).",
23+
"isRequired": false,
24+
"isSecret": false
25+
},
26+
{
27+
"name": "ARBITRUM_RPC_URL",
28+
"description": "Custom Arbitrum RPC endpoint.",
29+
"isRequired": false,
30+
"isSecret": false
31+
},
32+
{
33+
"name": "POLYGON_RPC_URL",
34+
"description": "Custom Polygon RPC endpoint.",
35+
"isRequired": false,
36+
"isSecret": false
37+
},
38+
{
39+
"name": "RPC_PROVIDER",
40+
"description": "RPC provider name: 'infura' or 'alchemy'. Used together with RPC_API_KEY.",
41+
"isRequired": false,
42+
"isSecret": false
43+
},
44+
{
45+
"name": "RPC_API_KEY",
46+
"description": "API key for the chosen RPC_PROVIDER.",
47+
"isRequired": false,
48+
"isSecret": true
49+
},
50+
{
51+
"name": "ETHERSCAN_API_KEY",
52+
"description": "Etherscan API key for contract verification lookups.",
53+
"isRequired": false,
54+
"isSecret": true
55+
},
56+
{
57+
"name": "ONEINCH_API_KEY",
58+
"description": "1inch Developer Portal API key. Enables 1inch quote comparison in get_swap_quote.",
59+
"isRequired": false,
60+
"isSecret": true
61+
},
62+
{
63+
"name": "WALLETCONNECT_PROJECT_ID",
64+
"description": "WalletConnect Cloud project ID. Required for Ledger Live signing via WalletConnect.",
65+
"isRequired": false,
66+
"isSecret": true
67+
}
68+
]
69+
}
70+
]
71+
}

0 commit comments

Comments
 (0)