FanOracle
Provides access to eBay's Browse API to fetch real sold listings for comic book pricing, including min/max/avg prices and sample listings.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FanOraclegrade this comic from the photo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FanOracle: Comic Book Edition
AI-powered comic book authentication, grading, and valuation — secured on the Casper blockchain.
Built for the Casper Network Hackathon | MCP + Odra/Rust Smart Contract
Contract repo: https://github.com/ffffffffhugfadil/fanoracle-comic
🏆 What is FanOracle?
FanOracle is a Model Context Protocol (MCP) server that brings AI intelligence to comic book collecting. Upload a photo of any comic — raw or CGC-slabbed — and FanOracle will:
Identify the comic title, issue, publisher, and year from the cover or CGC label
Grade the condition using the CGC 0.5–10.0 scale
Verify CGC/CBCS slab authenticity (detect fakes)
Check if it's a key issue (first appearances, deaths, origins)
Price it using real eBay sold listings
Store it permanently on the Casper blockchain
Related MCP server: litvm-tcg-oracle
🛠️ Tech Stack
Layer | Technology |
Smart Contract | Rust + Odra Framework 2.7.0 |
Blockchain | Casper Network Testnet |
AI Vision | Groq Llama 4 Scout (Vision) |
Market Data | eBay Browse API (Production) |
Comic Database | Comic Vine API |
Interface | MCP Server + Claude Desktop |
📦 Smart Contract
Deployed on Casper Testnet:
Field | Value |
Contract Hash |
|
Package Hash |
|
Deploy Hash (v2) |
|
Network |
|
Entry Points:
init— Initialize contractadd_comic(title, issue, grade_x10, is_key, value_cents)— Add comic to collectionget_count()— Get total comics in collectionget_comic_title(id)— Get comic title by IDget_comic_grade(id)— Get comic grade by IDget_comic_value(id)— Get comic estimated value by IDget_comic_is_key(id)— Check if comic is key issue
🔧 MCP Tools (5 Tools)
1. grade_comic
AI-powered comic grading from photo. Reads CGC/CBCS label automatically.
Input: image_url or image_base64
Output: grade (0.5-10.0), condition, defects, slab detection, creator credits2. verify_slab
Fake CGC/CBCS slab detector using AI visual analysis.
Input: image_url + cert_number
Output: authenticity score (0-100), red flags, green flags, verdict, CGC lookup URL3. fetch_comic_price
Real market prices from eBay sold listings.
Input: title, issue_number, grade (optional)
Output: min/max/avg price, sample listings, sales count4. detect_key_issue
Key issue detection via Comic Vine database.
Input: title, issue_number, publisher
Output: is_key_issue, key_reasons, first_appearances, cover_date5. collection_value
Casper blockchain collection tracker + value estimator.
Input: action (get_count | add_comic | value_estimate), comics[]
Output: on-chain count, deploy_hash, total value, breakdown🎬 Demo Flow
1. 📸 Upload CGC slab photo
↓
2. 🤖 grade_comic → "Wolverine #76, CGC 8.5, White Pages, Authentic"
↓
3. 🔍 verify_slab → "AUTHENTIC — Score 98/100, Hologram ✅"
↓
4. 🔑 detect_key_issue → "Lady Deathstrike & Puck appearance"
↓
5. 💰 fetch_comic_price → "Avg $40 | 20 eBay sales"
↓
6. ⛓️ collection_value (add_comic) → "Stored on Casper blockchain ✅"🚀 Setup
Prerequisites
Node.js 18+
Claude Desktop
API Keys: Groq, eBay (Production), Comic Vine
Install
git clone https://github.com/your-repo/fanoracle-mcp
cd fanoracle-mcp
npm install
cp .env.example .env
# Fill in API keys in .env
npm run buildClaude Desktop Config
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"fanoracle": {
"command": "node",
"args": ["/path/to/fanoracle-mcp/dist/index.js"],
"env": {
"CASPER_RPC": "https://node.testnet.casper.network/rpc",
"CASPER_CHAIN": "casper-test",
"CONTRACT_HASH": "contract-24ca090961cafb32c6cb39bd6034d175c8e47002e1e32c20e8cf54ca9abb8d40",
"GROQ_API_KEY": "your_groq_key",
"EBAY_CLIENT_ID": "your_ebay_client_id",
"EBAY_CLIENT_SECRET": "your_ebay_client_secret",
"COMIC_VINE_API_KEY": "your_comic_vine_key"
}
}
}
}📊 Example Outputs
grade_comic
{
"detected_title": "Amazing Spider-Man",
"detected_issue_number": "300",
"is_slabbed": true,
"grading_company": "CGC",
"certified_grade": 9.2,
"grade_label": "Near Mint-",
"confidence": "high",
"hologram_detected": true,
"slab_integrity": "intact",
"notable_features": ["White Pages", "1st Full Venom Appearance"]
}verify_slab
{
"verdict": "AUTHENTIC",
"authenticity_score": 98,
"confidence": "high",
"green_flags": ["Correct label font", "Hologram present", "Grade position correct"],
"red_flags": [],
"cgc_lookup_url": "https://www.cgccomics.com/certlookup/details/?certInput=3944834002"
}fetch_comic_price
{
"title": "Amazing Spider-Man",
"issue_number": "300",
"grade": "9.2",
"sales_found": 20,
"price_avg": 774.85,
"price_min": 349.99,
"price_max": 3300.00,
"currency": "USD"
}🔗 Links
Casper Explorer: https://testnet.cspr.live/deploy/2d624cd2e18b98c321e5799c24b52e90695cd2cb6ec8c1fd6c6caead9ef677ca
CGC Cert Lookup: https://www.cgccomics.com/certlookup/
Comic Vine: https://comicvine.gamespot.com/api/
🌐 Live Demo
Built with ❤️ for the Casper Network Hackathon*
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ffffffffhugfadil/fanoracle-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server