IFORM Web3 Forms MCP Server
Create, deploy, and manage decentralized Web3 forms on EVM chains via MCP.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"iform-mcp": {
"url": "https://iform.fun/api/ai/mcp"
}
}
}Remote endpoints
https://iform.fun/api/ai/mcpsseWhat it can do
Tool inventory
Tools (4)
⚪generate_form_transaction(action, chainId, title, schema, formId, ...)
Constructs a ready-to-sign on-chain EVM transaction (to, data, value, chainId) for the FormFactory smart contract (createForm, closeForm, activateForm, archiveForm, updateSchemaHash) with exact 0.00005 ETH protocol fee (0x2d79883d2000).
Input Schema
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"createForm",
"closeForm",
"activateForm",
"archiveForm",
"updateSchemaHash"
],
"description": "The smart contract action to execute."
},
"chainId": {
"type": "number",
"description": "Target EVM chain ID: 4663 (Robinhood Chain), 42161 (Arbitrum One), 10 (Optimism), 1 (Ethereum). Defaults to 4663."
},
"title": {
"type": "string",
"description": "Title of the form (required for createForm)."
},
"schema": {
"type": "object",
"description": "Form schema containing fields, questions, and access gating settings."
},
"formId": {
"type": "number",
"description": "The on-chain form ID (required for closeForm, activateForm, archiveForm, updateSchemaHash)."
},
"newSchemaHash": {
"type": "string",
"description": "New schema hash (required for updateSchemaHash)."
}
},
"required": [
"action"
]
}⚪confirm_form(formId, chainId, txHash, ownerAddress, title, ...)
Registers and indexes an on-chain created form in the IFORM registry with its questions schema and transaction hash, generating the 6-character short slug (e.g. /e3qa69) and live URL.
Input Schema
{
"type": "object",
"properties": {
"formId": {
"type": "number",
"description": "On-chain Form ID emitted in the FormCreated event."
},
"chainId": {
"type": "number",
"description": "EVM Chain ID (4663, 42161, 10, 1)."
},
"txHash": {
"type": "string",
"description": "Transaction hash of the creation on the blockchain."
},
"ownerAddress": {
"type": "string",
"description": "Creator EVM wallet address."
},
"title": {
"type": "string",
"description": "Form title."
},
"schema": {
"type": "object",
"description": "Form JSON schema with fields and settings."
}
},
"required": [
"formId"
]
}🟢query_forms(chainId, owner, status)
Queries decentralized forms by chain ID, creator wallet address, or status (active, closed, archived).
Input Schema
{
"type": "object",
"properties": {
"chainId": {
"type": "number",
"description": "Filter by chain ID (4663, 42161, 10, 1)."
},
"owner": {
"type": "string",
"description": "Filter by creator wallet address."
},
"status": {
"type": "string",
"enum": [
"active",
"closed",
"archived"
],
"description": "Filter by form status."
}
}
}🟢get_form_responses(formId, chainId)
Fetches submitted responses for a specific decentralized form by form ID or slug.
Input Schema
{
"type": "object",
"properties": {
"formId": {
"type": "string",
"description": "Form ID or 6-character slug."
},
"chainId": {
"type": "number",
"description": "Chain ID (defaults to 4663)."
}
},
"required": [
"formId"
]
}Community
Evidence