OpenZeppelin Solidity Contracts

MCP server by OpenZeppelin

Generate Solidity contracts (ERC-20, ERC-721, ERC-1155, Governor and more) from OpenZeppelin Contracts Wizard templates.

No sign-in (No account or key needed)Streamable HTTP

Connect to OpenZeppelin Solidity Contracts

No sign-in needed. Connect with OpenZeppelin Solidity Contracts’s own URL:

https://mcp.openzeppelin.com/contracts/solidity/mcp

Paste it into any client that supports remote MCP servers. Your client talks to OpenZeppelin directly, not through mcp.tc.

Share this server

Opens this page, with the URL and setup steps.

mcp.tc/i/openzeppelin

About

Connects to OpenZeppelin's Contracts Wizard and generates Solidity source code built from OpenZeppelin Contracts components. Tools cover ERC-20, ERC-721, ERC-1155, stablecoin, real-world asset tokens, ERC-4337 accounts, Governor contracts for DAOs, and custom contracts. Each tool takes feature options such as mintable, pausable, burnable, votes or upgradeable, and returns the contract code in a Markdown code block. Nothing is written to disk.

The server is hosted at mcp.openzeppelin.com and uses streamable HTTP. No sign-in or API key is needed. The stablecoin and RWA tools are marked experimental, and some of their features are not audited. A local package, @openzeppelin/contracts-mcp, is also available.

What you can do

  • Generate ERC-20 token contracts with optional mint, burn, pause, permit and votes
  • Generate ERC-721 and ERC-1155 token contracts
  • Generate stablecoin and real-world asset token contracts (experimental)
  • Generate ERC-4337 account contracts
  • Generate Governor contracts for DAO governance
  • Generate custom contracts with access control and upgradeability options

Tools 8

  • solidity-erc20

    Generate an ERC-20 fungible token contract with optional features like mintable, permit and votes.

  • solidity-erc721

    Generate an ERC-721 non-fungible token contract with options like enumerable and URI storage.

  • solidity-erc1155

    Generate an ERC-1155 multi-token contract with options like supply tracking and upgradeability.

  • solidity-stablecoin

    Generate an ERC-20 stablecoin contract. Experimental, some features are not audited.

  • solidity-rwa

    Generate an ERC-20 real-world asset token contract. Experimental, some features are not audited.

  • solidity-account

    Generate an ERC-4337 account contract with signer, batching and module options.

  • solidity-governor

    Generate a Governor contract for DAO governance with timelock and quorum settings.

  • solidity-custom

    Generate a custom contract with optional pausable, access control and upgradeable features.

Read from the live server on 3 Oct 2026.

Example prompts

  • Create an ERC-20 token called MyToken with symbol MTK, mintable and pausable.

  • Generate an ERC-721 contract with enumerable and URI storage extensions.

  • Make a Governor contract with a 1 day delay, 1 week period and 4% quorum.

  • Write an upgradeable ERC-1155 contract with burnable and supply tracking.

Set up

Every client connects to mcp.openzeppelin.com. Pick yours; the page remembers your choice.

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport http openzeppelin https://mcp.openzeppelin.com/contracts/solidity/mcp
  1. Start Claude Code and type /mcp. openzeppelin should show as connected.

Add --scope user to make it available in every project, not just this one.

Claude Desktop

  1. Open Settings → Connectors and click Add custom connector.
  2. Name it OpenZeppelin Solidity Contracts and paste this URL:
https://mcp.openzeppelin.com/contracts/solidity/mcp
  1. Click Add. Its tools appear in the chat’s tools menu.

Claude Desktop’s JSON config file only starts local servers. Remote servers go through Connectors, and connectors you add on claude.ai show up here too.

claude.ai

  1. Open the connector form on claude.ai. This button fills in the name and URL for you:
  1. Check that the URL reads https://mcp.openzeppelin.com/contracts/solidity/mcp and click Add.
  2. Turn it on in a chat from the tools menu.

Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under Organization settings → Connectors.

ChatGPT

  1. On chatgpt.com, open Settings → Security and login and turn on Developer mode.
  2. Go to chatgpt.com/plugins and click + to create an app for a remote MCP server.
  3. Paste https://mcp.openzeppelin.com/contracts/solidity/mcp as the server URL and choose No authentication.

Developer mode is available on the web for Plus, Pro, Business, Enterprise and Education accounts.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

mcp.json
{
  "mcpServers": {
    "openzeppelin": {
      "url": "https://mcp.openzeppelin.com/contracts/solidity/mcp"
    }
  }
}

VS Code

Or from a terminal:

code --add-mcp '{"name":"openzeppelin","type":"http","url":"https://mcp.openzeppelin.com/contracts/solidity/mcp"}'

Or commit it to the repo in .vscode/mcp.json:

.vscode/mcp.json
{
  "servers": {
    "openzeppelin": {
      "type": "http",
      "url": "https://mcp.openzeppelin.com/contracts/solidity/mcp"
    }
  }
}

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "openzeppelin": {
      "serverUrl": "https://mcp.openzeppelin.com/contracts/solidity/mcp"
    }
  }
}
  1. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf. It reads serverUrl (or url) for remote servers.

Codex

codex mcp add openzeppelin --url https://mcp.openzeppelin.com/contracts/solidity/mcp

Or edit ~/.codex/config.toml directly:

config.toml
[mcp_servers.openzeppelin]
url = "https://mcp.openzeppelin.com/contracts/solidity/mcp"

Gemini CLI

gemini mcp add --transport http openzeppelin https://mcp.openzeppelin.com/contracts/solidity/mcp

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients accept this shape. Some name the URL field differently: serverUrl in Devin Desktop, httpUrl in Gemini CLI’s settings file.

{
  "mcpServers": {
    "openzeppelin": {
      "type": "http",
      "url": "https://mcp.openzeppelin.com/contracts/solidity/mcp"
    }
  }
}

Zed puts servers under context_servers in its settings. Cline needs "type": "streamableHttp", or it assumes SSE.

Client only starts local servers? Bridge it with npx -y mcp-remote https://mcp.openzeppelin.com/contracts/solidity/mcp.

FAQ

Can I paste mcp.tc/i/openzeppelin into my MCP client?

No. mcp.tc links are pages, not server addresses. Connect with https://mcp.openzeppelin.com/contracts/solidity/mcp, so your client talks to OpenZeppelin Solidity Contracts directly. The quick link is for sharing: it opens this page, with setup steps for every client.

Does OpenZeppelin Solidity Contracts need an API key or a sign-in?

No. OpenZeppelin Solidity Contracts doesn’t ask for an account or key.

Is OpenZeppelin Solidity Contracts a remote or a local server?

Remote. OpenZeppelin hosts it at https://mcp.openzeppelin.com/contracts/solidity/mcp, and it speaks Streamable HTTP. There’s nothing to install.

What can OpenZeppelin Solidity Contracts do?

It has 8 tools, including solidity-erc20, solidity-erc721 and solidity-erc1155. You can generate ERC-20 token contracts with optional mint, burn, pause, permit and votes, generate ERC-721 and ERC-1155 token contracts and generate stablecoin and real-world asset token contracts (experimental).

Which clients can use it?

Any client that supports remote MCP servers: Claude Code, Claude Desktop, claude.ai, ChatGPT in developer mode, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. The setup steps cover each one.

Who wrote this page?

mcp.tc’s robot read OpenZeppelin Solidity Contracts’s own metadata (its MCP handshake, tool list and public pages), and an AI model drafted the text from it. A person reviews anything the checks can’t confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

Embed

Show OpenZeppelin Solidity Contracts in a README or on your site. Each embed links to this page, uses the server’s own URL, and sets no cookies. How embeds work

README badge

Badge preview, lightBadge preview, dark
Markdown
[![OpenZeppelin Solidity Contracts on mcp.tc](https://mcp.tc/i/openzeppelin/badge.svg)](https://mcp.tc/i/openzeppelin)
HTML
<a href="https://mcp.tc/i/openzeppelin"><img src="https://mcp.tc/i/openzeppelin/badge.svg" alt="OpenZeppelin Solidity Contracts on mcp.tc" height="20"></a>

It follows the reader’s light or dark mode. Add ?theme=light or ?theme=dark to fix it, or ?style=compact to show the mark without the word.

Website card

HTML
<script src="https://mcp.tc/w/openzeppelin.js" async></script>

The card appears where the tag is. Add data-theme="dark" or data-size="compact" to the tag to change it. The file holds everything it needs, so it makes no other requests and sets no cookies.

iframe

HTML
<iframe src="https://mcp.tc/embed/openzeppelin" title="OpenZeppelin Solidity Contracts on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

Use it on pages that don’t allow scripts. Add ?theme=light or ?theme=dark to the address to fix the colors.

JSON

The listing as data for your own pages and tools: name, tagline, the server’s own URL, tools and the “Add to” links. Any site can read it (CORS is open).

https://mcp.tc/i/openzeppelin.json

What each field means

mcp.tc isn’t affiliated with OpenZeppelin. This page was built from OpenZeppelin Solidity Contracts’s public metadata, last checked on 3 Oct 2026, and an AI model wrote the description, so it can be wrong. Names and marks belong to their owners. Something off? Report this listing.