HimiTrace MCP Server
README.md
# HimiTrace MCP Server — Blockchain Product Traceability for AI Agents (TypeScript Port)
[](https://polygonscan.com/address/0xFF7A3429427aFda56b2994B2F3eeF4464b851EE0)
[](https://modelcontextprotocol.io)
[](https://nodejs.org/)
HimiTrace is a Model Context Protocol (MCP) server that connects AI agents directly to the Polygon Mainnet blockchain to check product authenticity, verify origins, and inspect supply chain event lineages. Developed by **HimiTek** (himitek.com), it bridges immutable on-chain trust data with natural language queries for AI agents.
This allows any MCP-compatible AI agent (such as Claude Desktop, Cursor, Windsurf, or ChatGPT) to query, track, and audit physical goods on-chain in plain language.
---
## Key Features
- **On-Chain Verification:** Verify if a product or batch ID is registered on the Polygon blockchain (tamper-proof, immutable).
- **Supply Chain Timeline (GS1 EPCIS compatible):** Retrieve the full chronological event log of a product (harvesting, processing, packaging, shipping) directly from Polygon.
- **Certificate Verification:** Access quality certificates (USDA Organic, VietGAP, Fair Trade, etc.) stored on IPFS with their hashes anchored on-chain.
- **BOM (Bill of Materials) Lineage:** Trace parent-child merge/split relationships of raw material batches.
- **Zero Gas Cost:** All read operations from the smart contract are 100% free and do not require any crypto tokens (POL) to be spent by the AI agent.
---
## Technical Specifications
- **Contract Address:** `0xFF7A3429427aFda56b2994B2F3eeF4464b851EE0`
- **Network:** Polygon Mainnet (Chain ID: `137`)
- **Framework:** built on Anthropic's Model Context Protocol (MCP) SDK using TypeScript and `ethers.js` (v6).
---
## Installation & Setup
### 1. Prerequisites
- Node.js v20 or higher
- npm
### 2. Install Dependencies
Clone the repository and install the packages:
```bash
npm install
```
### 3. Build the Project
Compile TypeScript to Javascript:
```bash
npm run build
```
### 4. Test Connection
Ensure that the server can connect to the Polygon contract and query tools locally:
```bash
npm run test:local
```
If you see `ALL TESTS PASSED`, your environment is configured correctly.
---
## Connecting to AI Clients
### 1. Claude Desktop
Add HimiTrace MCP to your Claude Desktop configuration file.
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
Add the following to the `mcpServers` object:
```json
{
"mcpServers": {
"himitrace-mcp": {
"command": "node",
"args": [
"C:/path/to/your/himitrace-mcp/dist/index.js"
]
}
}
}
```
*Note: Make sure to replace `C:/path/to/your/himitrace-mcp/dist/index.js` with the actual absolute path to your compiled entry point.*
### 2. Cursor or Windsurf IDE
In Cursor settings:
1. Go to **Settings > Features > MCP**.
2. Click **+ Add New MCP Server**.
3. Fill in the fields:
- **Name:** `HimiTrace`
- **Type:** `command`
- **Command:** `node "C:/path/to/your/himitrace-mcp/dist/index.js"`
---
## Available Tools
AI agents can execute the following tools:
### 1. `verify_product`
Checks if a product exists on-chain and retrieves its registration parameters.
- **Argument:** `product_id` (string, e.g., `LOT-20260315-A1B2C3`)
- **Returns:** JSON containing verification status, name, origin, owner, registration date, and explorer links.
### 2. `get_trace_history`
Retrieves the complete supply chain history (timeline) of a product.
- **Argument:** `product_id` (string)
- **Returns:** Chronological array of events, including event types, timestamps, custom payload data (GS1 EPCIS standard), and the recorder's blockchain wallet address.
### 3. `get_certificates`
Retrieves certificates attached to a product.
- **Argument:** `product_id` (string)
- **Returns:** Lists certificate types, issuers, dates of issue/expiration, and secure IPFS gateway links.
### 4. `get_batch_lineage`
Traces the Bill of Materials (BOM) lineage (splits and merges of batches).
- **Argument:** `batch_id` (string)
- **Returns:** Parent-child relationships, quantities, and units of raw material inputs.
### 5. `check_product_exists`
Quick check for product presence.
- **Argument:** `product_id` (string)
- **Returns:** True/False status.
### 6. `get_system_stats`
Provides overall system statistics.
- **Returns:** Registered products count, contract details, and wallet balance.
---
## Available Resources
AI agents can reference the following static resources:
- `himitrace://info`: General system documentation, compliant industries, and standards.
- `himitrace://contract`: Blockchain metadata (chain_id, RPC node, contract code version).
- `himitrace://pricing`: Pricing tiers for API limits (Free, Pro, Enterprise).
---
## License & Support
Developed and maintained by **HimiTek Joint Stock Company**.
- Website: [himitek.com](https://himitek.com)
- Support Email: [mcp@himitek.com](mailto:mcp@himitek.com)
- Portal: [trace.himitek.vn](https://trace.himitek.vn)
TDQS
A3.9/5.0
Scored across 6 tools
Disambiguation5/5
Each tool targets a distinct aspect: existence check, basic info, batch lineage, certificates, system stats, and supply chain timeline. No two tools have overlapping purposes.
Naming Consistency4/5
All tools follow verb_noun pattern in snake_case, but there's a minor inconsistency with 'check_product_exists' vs 'verify_product' both dealing with existence using different verbs.
Tool Count5/5
6 tools is well-scoped for a blockchain traceability domain, covering essential queries without being excessive or insufficient.
Completeness4/5
Covers main read operations: existence, details, batch lineage, certificates, history, and system stats. Missing write operations like registration or update, but for a query-focused server it's reasonably complete.
Maintenance
ActivityInactive
ResponsivenessNo issues