{"id":28203570,"url":"https://github.com/noditlabs/nodit-mcp-server","last_synced_at":"2025-10-06T11:03:55.522Z","repository":{"id":289811042,"uuid":"972475129","full_name":"noditlabs/nodit-mcp-server","owner":"noditlabs","description":"A Model Context Protocol (MCP) server for AI agents to interact with blockchain data via Nodit’s Web3 Data and Node APIs. Enables LLMs to access structured, multi-chain blockchain context with zero blockchain-specific logic.","archived":false,"fork":false,"pushed_at":"2025-07-30T01:41:49.000Z","size":136,"stargazers_count":12,"open_issues_count":3,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-30T03:54:37.558Z","etag":null,"topics":["ai","blockchain","blockchain-data","blockchain-node","llm","mcp","mcp-server","onchain","onchain-data","rpc-node","web3"],"latest_commit_sha":null,"homepage":"https://nodit.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/noditlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-25T06:23:57.000Z","updated_at":"2025-07-30T01:41:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"3f26b536-4c99-4234-b86f-51eb67d76723","html_url":"https://github.com/noditlabs/nodit-mcp-server","commit_stats":null,"previous_names":["noditlabs/nodit-mcp-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/noditlabs/nodit-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noditlabs%2Fnodit-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noditlabs%2Fnodit-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noditlabs%2Fnodit-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noditlabs%2Fnodit-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/noditlabs","download_url":"https://codeload.github.com/noditlabs/nodit-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noditlabs%2Fnodit-mcp-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268431633,"owners_count":24249411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","blockchain","blockchain-data","blockchain-node","llm","mcp","mcp-server","onchain","onchain-data","rpc-node","web3"],"created_at":"2025-05-17T02:10:22.171Z","updated_at":"2025-10-06T11:03:55.516Z","avatar_url":"https://github.com/noditlabs.png","language":"TypeScript","funding_links":[],"categories":["Finance","Blockchain and Crypto","Uncategorized","📦 Other","Web3 MCP Categories"],"sub_categories":["Crypto \u0026 Blockchain","How to Submit","🛠️ \u003ca name=\"tool\"\u003e\u003c/a\u003eTool"],"readme":"# Nodit MCP Server\n\nA Model Context Protocol (MCP) server that connects AI agents and developers to structured, context-ready blockchain data across multiple networks through Nodit's Web3 infrastructure.\n\n\u003ca href=\"https://glama.ai/mcp/servers/@noditlabs/nodit-mcp-server\"\u003e\n  \u003cimg width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@noditlabs/nodit-mcp-server/badge\" alt=\"Nodit Server MCP server\" /\u003e\n\u003c/a\u003e\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Node.js](https://img.shields.io/badge/Node.js-%3E%3D18.0.0-green.svg)](https://nodejs.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0%2B-blue.svg)](https://www.typescriptlang.org/)\n[![smithery badge](https://smithery.ai/badge/@noditlabs/nodit-mcp-server)](https://smithery.ai/server/@noditlabs/nodit-mcp-server)\n\n## Overview\n\nNodit MCP Server simplifies how AI models and applications interact with blockchain ecosystems.  \nInstead of handling complex node RPCs, raw event logs, or chain-specific data structures, developers can access normalized, multi-chain blockchain data in a format optimized for AI reasoning and decision-making.\n\nWith Nodit's MCP, you can:\n- Build AI agents that **query, analyze, and act on real-time blockchain data** across EVM-compatible and non-EVM networks.\n- **Develope Web3-integrated applications** without requiring specialized blockchain development expertise.\n- Leverage Nodit's **reliable node infrastructure, Web3 Data APIs, and GraphQL indexing services** through a unified access layer.\n- Easily develop with blockchain MCP in **both local and remote integration**, depending on your workflow needs.\n\nSupported networks include Ethereum, Base, Optimism, Arbitrum, Polygon, Aptos, Bitcoin, Dogecoin, TRON, XRPL, GIWA(Sepolia) and more.\n\n## Table of Contents\n- [How Nodit MCP Tools Work](#how-nodit-mcp-tools-work)\n- [Features](#features)\n- [Prerequisites](#prerequisites)\n- [Running Local Nodit MCP Server](#running-local-nodit-mcp-server)\n- [Integrating Nodit Remote MCP Server](#integrating-nodit-remote-mcp-server)\n- [Troubleshooting](#troubleshooting)\n- [Example Prompts with Nodit MCP](#example-prompts-with-nodit-mcp)\n- [Scope \u0026 Limitations](#scope--limitations)\n- [License](#license)\n\n## How Nodit MCP Tools Work\n\nNodit MCP Server provides tools enabling AI agents to dynamically discover, understand, and interact with Nodit's Web3 APIs and data infrastructure. The tools minimize token consumption and maintain a lightweight context by modularizing API interactions into distinct steps:\n\n- **List API Categories (`list_nodit_api_categories`)**  \n  Retrieve a list of high-level API categories available.\n\n- **List API Operations (`list_nodit_node_apis`, `list_nodit_data_apis`, `list_nodit_aptos_indexer_api_query_root`,`list_nodit_webhook_apis`)**  \n  Fetch available operations within a selected category (Node APIs, Data APIs, Aptos Indexer APIs, Webhook APIs).\n\n- **Get API Specification (`get_nodit_api_spec`,`get_nodit_aptos_indexer_api_spec`)**  \n  Obtain detailed information for a specific API operation (parameters, request/response schema).\n\n- **Call API (`call_nodit_api`,`call_nodit_aptos_indexer_api`)**  \n  Execute an API call using the operationId and validated parameters.\n  \nNodit MCP Server communicates using the standard JSON-RPC over stdio protocol, following the Model Context Protocol (MCP) conventions.\nCurrently, only stdio-based communication is supported for server-client interactions.\n\n## Features\n\nThe following are the key features and supported blockchain networks provided through Nodit MCP Server for AI agents and LLMs.  \nFor detailed API specifications and usage guidelines, please refer to the [Nodit Developer Documentation](https://developer.nodit.io/).\n\n- **RPC Node \u0026 Node APIs**  \n  Access blockchain node endpoints through Nodit's professionally operated infrastructure.  \n  Supports real-time network queries, transaction submissions, smart contract interactions, and more.\n\n- **Web3 Data APIs**  \n  High-level APIs for accessing meticulously indexed blockchain data.  \n  Includes processed datasets such as block and transaction details, token transfer histories, account-level transaction summaries, and asset movement details — information that would be difficult to assemble directly through raw RPC calls.\n\n- **GraphQL Indexer APIs (Aptos only)**  \n  Query detailed Aptos blockchain activities through GraphQL endpoints.\n\n- **Supported Networks**  \n  - EVM-Compatible: Ethereum, Arbitrum, Avalanche, Base, Chiliz, Kaia, Optimism, Polygon, BNB Chain, GIWA(Sepolia)\n  - Non-EVM: Aptos, Bitcoin, Dogecoin, TRON, XRPL, Sui, Solana\n\n\n## Prerequisites\n\n- Node.js 18+\n- **Nodit API Key** (Sign up and get an API key at [Nodit Console](https://nodit.lambda256.io/))\n\n\n## Running Local Nodit MCP Server\n\n### Using npx (Recommended)\n\n```bash\nnpx @noditlabs/nodit-mcp-server@latest\n```\n\n### Using local build\n\n```bash\n# Clone the repository\ngit clone --recurse-submodules https://github.com/noditlabs/nodit-mcp-server.git\n\n# Move into the project directory\ncd nodit-mcp-server\n\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n```\n\nBefore starting, set your Nodit API key:\n\n```bash\nexport NODIT_API_KEY=your-api-key\n```\n\nThen start the server:\n\n```bash\nnode build/index.js\n```\n\n### Communicating with the Local Server\n\nOnce the Nodit MCP Server is running locally, you can communicate with it using **JSON-RPC over stdio**.  \nHere’s how you can send a basic request to the server:\n\n**Example: List available tools**\n\nYou can directly input the JSON-RPC payload:\n\n```bash\n{\"method\":\"tools/list\",\"params\":{},\"jsonrpc\":\"2.0\",\"id\":1}\n```\n\nOr, you can pipe the request using the `echo` command:\n\n```bash\necho '{\"method\":\"tools/list\",\"params\":{},\"jsonrpc\":\"2.0\",\"id\":1}' | node build/index.js\n```\n\n**Example: Call a specific tool (list_nodit_api_categories)**\n\n```bash\necho '{\"method\":\"tools/call\",\"params\":{\"name\":\"list_nodit_api_categories\",\"arguments\":{}},\"jsonrpc\":\"2.0\",\"id\":1}' | node build/index.js\n```\n\n### Connecting to Cursor IDE or Claude Desktop\n\nAdd the following configuration to your `.cursor/mcp.json` or `claude_desktop_config.json`:\n\n- **Cursor**\n  - MacOS: `~/.cursor/mcp.json`\n  - Windows: `C:\\Users\\\u003cUsername\u003e\\.cursor\\mcp.json`\n\n- **Claude Desktop**\n  - MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n  - Windows: `C:\\Users\\\u003cUsername\u003e\\AppData\\Roaming\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"nodit\": {\n      \"command\": \"npx\",\n      \"args\": [\"@noditlabs/nodit-mcp-server@latest\"],\n      \"env\": {\n        \"NODIT_API_KEY\": \"****\"\n      }\n    }\n  }\n}\n```\n\u003e 🔔 **Important**  \n\u003e Replace `****` with your actual Nodit API key.  \n\u003e If the API key is not configured properly, API requests will fail due to authentication errors.\n\n### Connecting to Claude CLI\n\nYou can also use Nodit MCP Server directly with Claude CLI for a quick setup.\n\nAdd Nodit MCP Server with the following commands:\n\n```bash\n# Add the Nodit MCP server\nclaude mcp add nodit-mcp-server npx @noditlabs/nodit-mcp-server\n\n# Set API Key\nexport NODIT_API_KEY=your-api-key\n\n# Start Claude with the Nodit MCP server enabled\nclaude\n```\n## Integrating Nodit Remote MCP Server\nIf you’re using an AI tool that supports Remote MCP integration, you can connect to Nodit’s Remote MCP Server without running a local MCP server.\nThis allows you to use Nodit MCP features directly within your AI environment.\n\n### Endpoint\nUse the following endpoint to connect to the Nodit Remote MCP Server. Make sure to replace INSERT_YOUR_API_KEY with your actual Nodit API Key.\n\n```bash\nhttps://mcp.nodit.io/sse?apiKey=INSERT_YOUR_API_KEY\n```\n\n### Connecting to Claude (Web)\nIf you’re on the Claude Enterprise, Pro, or Max plan, you can integrate the Remote MCP Server. \n\n1. Go to Settings \u003e Integrations, click the [Add custom integration] button.\n2. Click the [Add more] button to integrate the new Remote MCP.\n3. Insert the endpoint provided above to complete the setup.\n\nOnce the integration is complete, you’ll see that Nodit MCP has been added under the Search and Tools section on the Claude main screen.\n\n### Connecting to Cursor IDE\nTo connect Nodit MCP to Cursor IDE:\n\t1.\tOpen Preferences \u003e Cursor Settings \u003e MCP Tools.\n\t2.\tClick [+ New MCP Server] to open the mcp.json configuration file.\n\nYou can also open and edit the mcp.json file directly at the following path:\n  - MacOS: `~/.cursor/mcp.json`\n  - Windows: `C:\\Users\\\u003cUsername\u003e\\.cursor\\mcp.json`\n\nAdd the following configuration to the mcpServers object. If you already have other MCP servers configured, separate each entry with a comma.\n```json\n{\n  \"mcpServers\": {\n    \"nodit\": {\n      \"url\": \"https://mcp.nodit.io/sse?apiKey=INSERT_YOUR_API_KEY\"\n    }\n  }\n}\n```\nOnce added, go back to MCP Tools in the Cursor interface and enable the nodit MCP by toggling it on. When the status shows “9 tools enabled” in green, the connection is complete.\n\n## Troubleshooting\n### Trouble running MCP via npx on Claude Desktop\nIf you are running the MCP server in combination with **Claude Desktop** or other tools that rely on a local Node.js installation, you may encounter issues due to:\n* Multiple versions of Node.js installed (e.g., via Homebrew and package installer)\n* Conflicting PATH environments\n* Claude Desktop not recognizing the correct Node.js runtime\n\nFollow the steps below to verify that **Node.js 18+** is properly installed and recognized on your system.\n\n#### 1. Check your currently active Node.js version\nRun the following command in your terminal to check the version:\n```\nnode --version\n```\nYou should see a version number starting with v18 or higher (e.g., v18.19.0).\n\nIf not, you may need to install a compatible version or switch to it.\n\n\u003e [!TIP] \n\u003e Claude Desktop may not use the same Node.js version as your terminal. If you have multiple installations (e.g., via Homebrew, nvm, or direct installer), it may default to an unexpected version.\n\u003e To list all common installation paths:\n\u003e ```\n\u003e # Homebrew installation\n\u003e ls /usr/local/bin/node\n\u003e ls /opt/homebrew/bin/node\n\u003e \n\u003e # nvm installations\n\u003e ls ~/.nvm/versions/node/\n\u003e \n\u003e # System installation\n\u003e ls /usr/bin/node\n\u003e ```\n\n#### 2. Install or switch to Node.js 18+ if needed\nIf you don’t have a compatible version, install Node.js using one of the following methods:\n\n* Using Node.js official installer: Download from nodejs.org\n* Using Homebrew (macOS):\n```  \nbashbrew install node@20\n```\n* Using nvm (recommended for version management):\n```\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash\nnvm install 20\nnvm use 20\nnvm alias default 20\n```\n\n#### 3. Check which Node.js version Claude Desktop uses\nClaude Desktop inherits the PATH from your system environment.\nIn your terminal, run:\n```\nwhich node\n```\nThis displays the path of the Node.js binary currently active in your terminal. This is the path that Claude is likely to use when launched from that terminal.\n\n#### 4. Force Claude Desktop to use the correct Node.js version\n* If you’re using nvm:\n```\nnvm use 18  # Set proper version \nnvm alias default 18\n```\n\n* If you’re using Homebrew, ensure it’s prioritized in your PATH:\n```\nexport PATH=\"/opt/homebrew/bin:$PATH\"  # for Apple Silicon\n# or\nexport PATH=\"/usr/local/bin:$PATH\"     # for Intel Macs\n```\nWe recommend sticking to a single installation method (e.g., either nvm or Homebrew) to avoid version conflicts.\n\n#### 5. Restart Claude Desktop\nAfter making changes, restart Claude Desktop to ensure it picks up the correct environment variables and Node.js version.\n\n## Example Prompts with Nodit MCP\nOnce Nodit MCP is connected, you can use natural language to directly query blockchain data from multiple networks.\nThe examples below illustrate just a few of the many possibilities — feel free to go beyond them and explore your own use cases. \n\n### 📊 On-chain Activity Monitoring\n```\nSummarize the recent activity of 0xabc…def across Ethereum and Arbitrum. Include major transactions, token transfers, and NFT interactions over the past 7 days.\n```\n```\nWhat fungible and non-fungible tokens does this wallet hold across Ethereum and Polygon? Include balances and token names.\n```\n```\nAnalyze the risk profile of wallet 0xabc… based on its recent on-chain behavior.\n```\n\n### 🧾 Smart Contract \u0026 Transaction Analysis\n```\nAnalyze how users interacted with the contract at 0xcontract… on Ethereum over the last week.\n```\n```\nAnalyze the last 10 blocks on Arbitrum.\n```\n\n### 🧠 AI Agent Use Cases\n```\nBased on wallet 0xabc…’s holdings, recommend optimal DeFi strategies across Ethereum and Arbitrum.\n```\n```\nCreate a daily summary report for 0xdao… including token balances, inflow/outflow, and governance activity.\n```\n\n### ⚙️ Web3 DApp Development\n```\nWrite TypeScript code using fetch to retrieve all ERC-20 transfers for 0xabc… from Ethereum using Nodit’s Node API.\n```\n```\nBuild a simple dashboard to visualize how assets have moved in recent XRPL transactions.\n```\n```\nBuild a dashboard that aggregates blockchain data across multiple chains using Nodit.\n```\n\n## Scope \u0026 Limitations\n\nNodit MCP Server provides structured context to help LLM-based agents utilize Nodit's APIs effectively.  \nIts responsibilities include:\n\n- Structuring Nodit APIs (Node APIs, Web3 Data APIs) in an LLM-consumable format.\n- Exposing endpoint details, input/output schemas, sample responses, and error handling guidelines.\n\nHowever, the following are **outside the MCP's control**:\n\n- API selection may vary depending on the LLM version (e.g., GPT-4, Claude 3), prompt engineering, or agent design.\n- Interpretation of API responses or errors depends on the consuming LLM's reasoning capabilities.\n\nNodit MCP Server focuses on delivering accurate and structured API context,  \nbut does **not guarantee** the final reasoning outcomes or behavior of external LLMs.\n\n\n## License\n\nThis project is licensed under the [Apache License 2.0](./LICENSE).  \nRefer to the LICENSE file for full license terms.  \nRelevant legal notices are provided in the [NOTICE](./NOTICE) file.\n\n\"Nodit\" and the Nodit logo are trademarks of Lambda256.  \nUse of the name or logo without prior written permission is prohibited.\n\n---\n© Lambda256. All rights reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoditlabs%2Fnodit-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnoditlabs%2Fnodit-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoditlabs%2Fnodit-mcp-server/lists"}