PortalMCP
🌐 PortalMCP
Universelles KI-Gateway für Ethereum
Ein Server. Jede KI. Die gesamte Chain.
Verbinden Sie jeden Model-Context-Protocol-Client — Claude, ChatGPT, Gemini, Cursor, Windsurf, Cline, benutzerdefinierte Agenten — mit Ethereum mittels natürlicher Sprache. Überprüfen Sie Guthaben, tauschen Sie Token, minten Sie NFTs, generieren und implementieren Sie Smart Contracts.
Schnellstart · Einrichtung · Tools · Roadmap · Changelog
✨ Warum PortalMCP
Die meisten KI-Blockchain-Integrationen binden Sie an ein LLM oder einen Client. PortalMCP ist ein spezifikationskonformer MCP-Server — derselbe Server, der lokal oder auf Ihrem VPS läuft, versorgt jeden MCP-fähigen Client.
🔐 Non-custodial — private Schlüssel verlassen niemals Ihren Rechner 🛰️ Live-Chain-Kontext — Ressourcen streamen ETH-Guthaben, Transaktionsbelege und Token-Metadaten direkt in Ihren Chat 🛡️ Sicherheit zuerst — jedes Tool deklariert Lese-/destruktive/idempotente Hinweise, damit Clients vor dem Senden bestätigen können 🧩 Universell — funktioniert über stdio und HTTP, kompatibel mit jedem MCP-Client
Related MCP server: MCP Crypto Wallet EVM
🧭 Kompatible Clients
Client | Transport | Hinweise |
🟣 Claude Desktop (macOS/Windows) | stdio | Drop-in-Konfiguration unten |
🌐 Claude.ai Web + Mobile | HTTP | Als Custom Connector hinzufügen (Pro/Team/Enterprise) |
💻 Claude Code / CLI | entweder | |
🧠 Cursor · Windsurf · Cline · Continue · Zed AI | stdio | Natives MCP |
💬 ChatGPT (Team/Enterprise) | HTTP | MCP-Connector |
🛠️ ChatGPT Custom GPTs | REST | Nutzt gebündelte |
✴️ Google Gemini / Vertex Agents | HTTP | MCP-Connector |
🐍 LangChain · LlamaIndex · OpenAI Agents SDK | entweder | via deren MCP-Adapter |
🤖 Jeder HTTP-Agent | HTTP | Einfaches JSON-RPC + SSE auf |
🎯 Was es kann
⚡ Allgemein
Tool | Aktion |
| ETH-Guthaben einer Adresse oder des Standard-Wallets |
| Schreibgeschützter Aufruf gegen jeden Contract + ABI |
| Vorbereitung einer generischen, unsignierten Transaktion |
📜 Smart Contracts
Tool | Aktion |
| Von Claude erstelltes Solidity mittels natürlicher Sprache |
| solc-Kompilierung → Bytecode + ABI |
| Vorbereitung der Deployment-Transaktion für externe Wallet-Signierung |
| Direkte Bereitstellung mittels |
🪙 ERC-20 Token
Tool | Aktion |
| Generierung von ERC-20 Solidity |
| ERC-20-Guthaben eines Inhabers |
| Signierte Übertragung oder Vorbereitung einer unsignierten Transaktion |
🖼️ ERC-721 NFTs
Tool | Aktion |
| Generierung von ERC-721 Solidity |
| Vorbereitung von |
|
|
🏦 DeFi
Tool | Aktion |
| Generierung von Staking-Solidity |
| Vorbereitung von Approve- + Stake-Transaktionen |
| Universeller Uniswap V3 Swap (jedes ERC-20-Paar) |
| Komfort-Alias für das obige |
URI | Rückgabe |
| Konfigurierte Signer-Adresse, Netzwerk, ETH-Guthaben |
| Live-ETH-Guthaben für jede Adresse |
| Transaktion + Beleg (Status, Gas, Block, Logs, Explorer-URL) |
| ERC-20-Metadaten (Name, Symbol, Dezimalstellen, Gesamtangebot) |
/swap_tokens— geführter Token-Swap-Ablauf/deploy_erc20— generieren → kompilieren → bereitstellen (End-to-End)
🚀 Schnellstart
git clone https://github.com/PortalFnd/PortalMCP.git
cd PortalMCP/portalmcp
npm install
cp .env.example .env
# fill in .env — ANTHROPIC_API_KEY, DEPLOYER_PRIVATE_KEY,
# and ETHEREUM_RPC_URL (or a real ALCHEMY_API_KEY)
npm run build
npm run smoke # ✓ 17 tools / 1 resource / 3 templates / 2 prompts
npm start # stdio (Claude Desktop, Cursor, …)
# or
npm run start:http # Streamable HTTP on http://0.0.0.0:3333/mcp🔌 Client-Einrichtung
Bearbeiten Sie ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"portalmcp": {
"command": "node",
"args": ["/absolute/path/to/PortalMCP/portalmcp/dist/index.js"],
"env": {
"ETHEREUM_NETWORK": "mainnet",
"ETHEREUM_RPC_URL": "https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY",
"DEPLOYER_PRIVATE_KEY": "0x...",
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}Starten Sie Claude Desktop neu. 17 Tools, eth://-Ressourcen und zwei Slash-Befehle erscheinen automatisch.
Hosten Sie den HTTP-Server mit einer öffentlichen HTTPS-URL (Caddy / Cloudflare Tunnel / Nginx).
Setzen Sie
MCP_HTTP_TOKEN=<lange-zufällige-zeichenfolge>, damit nur Sie darauf zugreifen können.In Claude.ai → Einstellungen → Connectors → Custom Connector hinzufügen:
URL:
https://your-host.example.com/mcpAuth:
Authorization: Bearer <MCP_HTTP_TOKEN>
Funktioniert sowohl im Web als auch in der mobilen App.
Alle unterstützen MCP nativ. Fügen Sie einen Eintrag in deren MCP-Konfiguration hinzu, der auf Folgendes verweist:
node /absolute/path/to/PortalMCP/portalmcp/dist/index.js(Derselbe stdio-Befehl wie bei Claude Desktop.)
Bevorzugt — MCP-Connector (ChatGPT Team/Enterprise, Gemini/Vertex Agents):
Verweisen Sie auf https://your-host/mcp, optional mit einem Bearer-Token.
Legacy REST (ChatGPT Custom GPT Actions oder jeder HTTP-Agent):
npm run start:api
# OpenAPI spec: http://localhost:3001/openapi.json💬 Beispiel-Konversationen
Einen Token von Grund auf bereitstellen
"Stelle einen ERC-20 namens PortalToken (PRTL) mit einem Anfangsangebot von 1.000.000 bereit."
→
eth_generate_contract→ zeigt Code →eth_compile_contract→eth_deploy_contract_with_signer→ gibt die Contract-Adresse + Etherscan-Link zurück.
Universeller Swap
"Tausche 0,01 ETH gegen USDC."
→
eth_swap_tokens { tokenIn:"ETH", tokenOut:"USDC", amount:"0.01" }— genehmigt (falls erforderlich) und führt den Tausch über Uniswap V3 aus.
Live On-Chain-Kontext
"Wie hoch ist das Guthaben von
vitalik.eth?"→ der Client fügt die
eth://balance/0xd8dA…-Ressource direkt in die Konversation ein.
⚙️ Konfiguration
Alles über Umgebungsvariablen (.env-Datei oder Host-Umgebung). Vollständige Liste in .env.example.
Variable | Erforderlich | Zweck |
| – |
|
| ⭐ | Vollständige JSON-RPC-URL — überschreibt Infura/Alchemy-Schlüssel-Setup |
| alt | Nur Schlüssel — PortalMCP erstellt die moderne |
| alt | Infura-Projekt-ID |
| writes |
|
| generate | Für |
| – | Überschreibt Standard |
| – | Standard |
| – | Standard |
| 🛡️ | Bearer-Token für den HTTP-Transport |
| – | Standard |
💡 Platzhalter-Erkennung — jeder Umgebungswert, der mit
your_,changeme,xxx,placeholder,<…>beginnt, wird als nicht gesetzt behandelt. Stoppt fehlerhafte Konfigurationen sofort.
🌍 Unterstützte Netzwerke
🛡️ Sicherheit
🚫 Niemals
.envcommitten — bereits in.gitignoreenthalten.🔑
DEPLOYER_PRIVATE_KEYist gefährlich. Verwenden Sie ein dediziertes Agenten-Wallet mit nur Mitteln, deren Verlust Sie verschmerzen können.🛰️ Setzen Sie immer
MCP_HTTP_TOKEN, wenn Sie HTTP über localhost hinaus freigeben, und verwenden Sie TLS (Caddy/Cloudflare) davor.🧪 Zuerst Testnet — verwenden Sie
sepoliafür die Entwicklung, Mainnet erst nach Überprüfung des Ablaufs.🏷️ Tool-Annotationen ermöglichen es Clients, vor destruktiven Transaktionen nachzufragen — genehmigen Sie diese nicht automatisch.
👀 Überprüfen Sie generiertes Solidity —
eth_generate_contractist ein Ausgangspunkt, kein Audit.
🧑💻 Entwicklung
npm install
npm run dev # stdio, ts-node hot-reload
npm run dev:http # HTTP, ts-node
npm run build # tsc → dist/
npm run smoke # assert MCP surface is registered
npm test # JestSkript | Zweck |
| stdio MCP-Server (prod) |
| Streamable HTTP MCP-Server (prod) |
| Legacy REST für ChatGPT Actions / HTTP-Clients |
| Registrierungs-Smoke-Test — ideal für CI |
Repo-Struktur
portalmcp/
├── src/
│ ├── index.ts # stdio entrypoint
│ ├── mcp-http.ts # Streamable HTTP entrypoint
│ ├── server-factory.ts # createPortalServer() — shared wiring
│ ├── smoke-test.ts # CI registration check
│ ├── tools/ # general · contracts · defi · tokens · nfts
│ ├── blockchain/ # EthereumService · CompilerService
│ ├── claude/ # ContractGenerator (Anthropic SDK)
│ ├── contracts/ # Solidity templates
│ └── adapters/ # Legacy REST / LangChain / OpenAI adapters
├── dist/ # tsc output
├── .env.example
└── package.json🏗️ Architektur
stdio Streamable HTTP (SSE)
┌─────────────────────┐ ┌─────────────────────────────┐
│ Claude Desktop │ │ Claude.ai web + mobile │
│ Cursor · Windsurf │ │ ChatGPT · Gemini │
│ Cline · Continue │ │ Custom agents │
└─────────┬───────────┘ └──────────────┬──────────────┘
│ │
│ ┌──────────────────────┐ │
└───────▶│ PortalMCP server │◀────────────┘
│ (server-factory.ts) │
└──────────┬───────────┘
│
┌──────────────────────┼──────────────────────┐
▼ ▼ ▼
EthereumService Uniswap V3 Anthropic
(ethers v6 + (eth_swap_tokens) (eth_generate_contract)
Alchemy/Infura/
custom RPC)🗺️ Roadmap-Highlights
Vollständiger Plan in ROADMAP.md.
🤝 Mitwirken
PRs sind willkommen! Prioritätsbereiche: mehr outputSchema-Abdeckung, zusätzliche Tools, Docker-Packaging, Python-Client, Testabdeckung. Eröffnen Sie bei nicht trivialen Änderungen zuerst ein Issue.
⭐ Dieses Repo mit einem Stern markieren · 🐛 Ein Issue melden · 📜 MIT-Lizenz
Erstellt mit 💜 von der Portal Foundation
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceA comprehensive server that enables AI agents to interact with multiple EVM-compatible blockchain networks through a unified interface, supporting ENS resolution, token operations, and smart contract interactions.25134MIT
- AlicenseBqualityDmaintenanceProvides Claude with access to Ethereum and EVM-compatible blockchain operations, enabling wallet management, transaction handling, contract interactions, and blockchain queries through natural language.358710MIT
- AlicenseNot gradedqualityDmaintenanceA powerful toolkit that enables seamless interaction with EVM-compatible networks through natural language processing and AI assistance, allowing users to manage wallets, launch tokens, and interact with blockchain networks.20MIT
- AlicenseCqualityCmaintenanceEnables AI agents to interact with any EVM-compatible blockchain through natural language, supporting token swaps, cross-chain bridges, staking, lending, governance, gas optimization, and portfolio tracking across networks like Ethereum, BSC, Polygon, Arbitrum, and more.1006339Inno Setup
Related MCP Connectors
Provide AI agents and automation tools with contextual access to blockchain data including balance…
Non-custodial DeFi for AI agents: swaps, concentrated liquidity (V3/V4) zaps + ranges, 5 EVM chains
Token swaps and honeypot/rug checks for AI agents on 8 chains, paid per-call in USDC via x402.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/PortalFnd/PortalMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server