README Documentation
MCP POI Server
A Model Context Protocol server for processing files and preparing blockchain transactions. This server can be installed in Claude Desktop and provides a tool to process files and prepare them for blockchain transactions.
https://github.com/user-attachments/assets/6b2fbd68-4eca-4130-9594-d6720508e9c8
Setup
- Clone this repository
- Install dependencies:
npm install
- Build the server:
npm run build
Environment Variables
API_TOKEN
: Your API bearer token for authentication against the PoI API. You can request a new token on Molecule's Discord Server: https://discord.gg/k4ER7vZcj8
Usage
The server provides a tool called create_proof_of_invention_request
that accepts a file path returns prepared transaction data suitable for blockchain execution. This can be reused by your favorite tool that can sign and submit transactions. The binary content should be provided by the MCP client (e.g., Claude Desktop or Cursor).
https://docs.molecule.to/documentation/proof-of-invention-poi/api-access-beta
Adding to Claude Desktop
"poi": {
"command": "npx",
"args": ["mcp-poi"],
"env": {
"API_TOKEN": "the api token"
}
}
Plays nicely with other MCP servers
- https://pypi.org/project/mcp-server-fetch/
- https://www.npmjs.com/package/@mcp-dockmaster/mcp-cryptowallet-evm
Our complete Claude desktop config looks:
{
"mcpServers": {
"mcp-cryptowallet-evm": {
"command": "npx",
"args": ["@mcp-dockmaster/mcp-cryptowallet-evm"],
"env": {
"PRIVATE_KEY": ""
}
},
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/stadolf/Downloads",
"/Users/stadolf/Documents"
]
},
"poi": {
"command": "npx",
"args": ["-y", "mcp-poi"],
"env": {
"API_TOKEN": ""
}
}
}
}
Prompts
| Create a poi hash from the "idea.md" file in my Documents folder ... | send and Eth transation with the poi hash to the poi's to address on the base blockchain
Tool Schema
Input:
{
filepath: string; // A path of a binary
}
Output:
{
transaction_request: {
to: string, // a PoI anchoring address (usually starts with 0x1dea)
data: string, // the merkle root hash that represents the PoI
value: string, // 0
}
}
Running the Server
npm start
Development
For development with automatic rebuilding:
npm run dev
Error Handling
The server includes robust error handling for:
- Missing environment variables
- Invalid file content
- API communication errors
- Invalid response formats
Security
- API tokens are loaded from environment variables
- File contents are properly encoded before transmission
- Error messages are sanitized to prevent information leakage
- No filesystem access required - all content is provided by the MCP client