Uranium MCP Server
🚀 Quick Install

A Model Context Protocol (MCP) server for working with portal.uranium.pro - creating and managing NFT collections and assets. This server enables LLMs to interact with blockchain NFTs through a simple, structured interface.
Key Features
- Fast and efficient NFT management. Direct integration with Uranium API for instant operations.
- Multi-collection support. Manage ERC721 and ERC1155 NFT collections seamlessly.
- File-based asset creation. Upload images, videos, audio, and documents directly as NFTs.
- Bulk operations. List and filter assets across multiple collections with pagination.
Requirements
- Node.js 18 or newer
- Uranium API key from portal.uranium.pro
- VS Code, Cursor, Windsurf, Claude Desktop, Goose or any other MCP client
Getting Started
First, install the Uranium MCP server with your client.
Standard config works in most of the tools:
{
"mcpServers": {
"uranium": {
"command": "npx",
"args": ["uranium-tools-mcp@latest"],
"env": {
"URANIUM_API_KEY": "your_api_key_here"
}
}
}
}
Claude Code
Use the Claude Code CLI to add the Uranium MCP server:
claude mcp add uranium npx uranium-tools-mcp@latest
Then set your URANIUM_API_KEY when prompted.
Claude Desktop
Add to your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"uranium": {
"command": "npx",
"args": ["uranium-tools-mcp@latest"],
"env": {
"URANIUM_API_KEY": "your_api_key_here"
}
}
}
}
Codex
Create or edit the configuration file ~/.codex/config.toml and add:
[mcp_servers.uranium]
command = "npx"
args = ["uranium-tools-mcp@latest"]
env = { URANIUM_API_KEY = "your_api_key_here" }
For more information, see the Codex MCP documentation.
Cursor
Click the button to install:

Or install manually:
Go to Cursor Settings -> MCP -> Add new MCP Server. Name it "uranium", use command type with the command npx uranium-tools-mcp@latest. Add environment variable URANIUM_API_KEY with your API key.
Gemini CLI
Follow the MCP install guide, use the standard config above with your API key.
Goose
Click the button to install:

Or install manually:
Go to Advanced settings -> Extensions -> Add custom extension. Name it "uranium", use type STDIO, and set the command to npx uranium-tools-mcp@latest. Add environment variable URANIUM_API_KEY with your API key. Click "Add Extension".
LM Studio
Click the button to install:

Or install manually:
Go to Program in the right sidebar -> Install -> Edit mcp.json. Use the standard config above with your API key.
opencode
Follow the MCP Servers documentation. For example in ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"uranium": {
"type": "local",
"command": [
"npx",
"uranium-tools-mcp@latest"
],
"env": {
"URANIUM_API_KEY": "your_api_key_here"
},
"enabled": true
}
}
}
Qodo Gen
Open Qodo Gen chat panel in VSCode or IntelliJ → Connect more tools → + Add new MCP → Paste the standard config above with your API key.
Click Save.
VS Code
Click the button to install:

Or install manually:
Follow the MCP install guide, use the standard config above. You can also install the Uranium MCP server using the VS Code CLI:
code --add-mcp '{"name":"uranium","command":"npx","args":["uranium-tools-mcp@latest"],"env":{"URANIUM_API_KEY":"your_api_key_here"}}'
After installation, the Uranium MCP server will be available for use with your GitHub Copilot agent in VS Code.
Windsurf
Follow Windsurf MCP documentation. Use the standard config above with your API key.
Configuration
Environment Variables
URANIUM_API_KEY (required): Your Uranium API key from portal.uranium.pro
URANIUM_BASE_URL (optional): API base URL. Defaults to https://gw.urnm.pro
Example Configuration
{
"mcpServers": {
"uranium": {
"command": "npx",
"args": ["uranium-tools-mcp@latest"],
"env": {
"URANIUM_API_KEY": "your_api_key_here"
}
}
}
}
Local Installation
If you prefer to install locally:
npm install -g uranium-tools-mcp
pnpm add -g uranium-tools-mcp
yarn global add uranium-tools-mcp
Then use uranium-tools-mcp instead of npx uranium-tools-mcp@latest in the configuration.
Tools
This MCP server provides 4 main tools for NFT management:
Collection Management
list_collections
- Description: List all user collections (personal, common, and external)
- Parameters: None
create_collection
- Description: Create a new NFT collection
- Parameters:
name (string, required): Collection name (3-30 characters, letters, numbers, and [_.-] symbols) [min length: 3, max length: 30]
symbol (string, required): Collection symbol (3-30 characters, letters, numbers, and underscores) [min length: 3, max length: 30]
type (string, enum: ERC721, ERC1155, required): Collection type: ERC721 (single NFTs) or ERC1155 (multi-token)
Asset Management
list_assets
- Description: List assets with optional filtering by collection, search, and pagination
- Parameters:
contractId (string, optional): Filter assets by collection ID
page (number, optional): Page number (default: 1) [min: 1, default: 1]
pageSize (number, optional): Number of assets per page (default: 20, max: 100) [min: 1, max: 100, default: 20]
sortBy (string, optional): Sort field (default: createdAt) [default: "createdAt"]
order (string, enum: asc, desc, optional): Sort order (default: asc) [default: "asc"]
quickFilter (string, optional): Search text to filter assets by title
create_asset
- Description: Create a new NFT asset from a local file or base64 data
- Parameters:
filePath (string, optional): Absolute path to the media file (for local files)
fileData (string, optional): Base64 encoded file data (for Claude Desktop)
fileName (string, optional): Original filename (required when using fileData)
mimeType (string, optional): MIME type of the file (required when using fileData, e.g., 'image/png')
contractId (string, required): ID of the collection to mint the asset in
title (string, required): Asset title (3-120 characters) [min length: 3, max length: 120]
description (string, optional): Asset description (optional, max 255 characters) [max length: 255]
location (string, optional): Location where the asset was created (optional, max 100 characters) [max length: 100]
editions (number, optional): Number of editions (for ERC1155 collections only, 1-1000) [min: 1, max: 1000]
shareWithCommunity (boolean, optional): Make the asset discoverable by the community (optional, default: false) [default: false]
Supported File Formats
- Images: JPG, JPEG, PNG, GIF, WebP, SVG
- Video: MP4, WebM, MOV, AVI
- Audio: MP3, WAV, OGG
- Documents: PDF, TXT
Development
Building from Source
git clone https://github.com/xkelxmc/uranium-mcp.git
cd uranium-mcp
npm install
npm run build
Development Commands
npm run dev
npm run build
npm start
npm run clean
Testing
Using MCP Inspector
Test your MCP server with the MCP Inspector:
npx @modelcontextprotocol/inspector uranium-tools-mcp
npm run build:dev
npx @modelcontextprotocol/inspector node build/index.js
Development Testing
npm run dev:stdio
npm run dev:http
npm run mcp:inspect
Troubleshooting
Common Issues
-
API Key not working: Make sure your API key is valid and has the necessary permissions at portal.uranium.pro
-
Connection errors: Check that the URANIUM_BASE_URL is correct (defaults to https://gw.urnm.pro)
-
File upload issues: Ensure the file path is absolute and the file exists
-
Collection creation fails: Verify that collection names and symbols follow the required format (3-30 characters, alphanumeric and underscore)
Project Structure
src/
├── api/ # Complete copy of Uranium API from Raycast
├── utils/ # Utilities for validation, formatting, etc.
├── models/ # Upload primitives for working with files
├── tools/ # MCP tools
├── server.ts # MCP server configuration
├── index.ts # Entry point
└── config.ts # API and MCP configuration
License
todo
Support
For issues and questions: