A Next.js-based NFT marketplace and creation platform (NFTCONNECT) with AI-powered chat support for NFT expertise. Provides endpoints for NFT exploration, creation, marketplace operations, and AI-assisted user guidance.
This is NOT an MCP server. The repository is a Next.js web application with a single chat API endpoint (app/api/chat/route.ts). There is no MCP server framework, no tool registration mechanism, and no MCP protocol implementation. The provided 'chat' tool definition appears to be inferred from the Next.js API route, not explicitly registered as an MCP tool. The tool has a vague name ('chat' is a generic verb, not descriptive), lacks parameter descriptions, has an incomplete input schema (missing nested message object structure), and provides no output schema documentation. Error handling exists at the HTTP level but does not follow MCP recovery patterns.
Processes chat messages with NFT expertise. Accepts an array of messages and returns AI-generated responses about NFTs, blockchain technology, marketplace strategies, and related topics. Uses OpenAI GPT-4o model with system prompt configured for NFT domain expertise.
This is a Next.js HTTP API endpoint, not an MCP server. No MCP protocol implementation detected. Tool definition is inferred, not explicitly registered.
Tool naming is overly generic. 'chat' does not follow verb_noun pattern. Should be 'process_nft_query', 'get_nft_advice', or similar to reflect the specific NFT domain and action.
Input schema is incomplete and lacks structure. 'messages' parameter has no type specification for array items (missing OpenAI message object schema with 'role' and 'content' fields). LLMs cannot infer nested object structure.
Output schema is completely undocumented. No specification of what fields are returned (message content, usage, finish_reason, etc.). LLMs cannot plan downstream operations without knowing response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 27 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Messages parameter lacks description. LLM cannot understand what OpenAI format means, what 'role' values are valid (user/assistant/system), or what 'content' should contain.
Tool has single responsibility (chat processing) but is too coarse-grained. No way for agents to distinguish between different NFT operations (e.g., get_nft_price, analyze_collection, suggest_portfolio). Single monolithic chat tool reduces composability.
No pagination support. If messages array grows large, no limit parameter prevents token bloat or API timeout.
Error handling is HTTP-level only (401, 429, 403, 500). No MCP-style error recovery guidance. Errors do not tell the LLM what to do next or whether to retry.
OpenAI API key exposure risk. Tool code validates key format but stores it in process.env without rotation policy. No mention of secret scoping or audit trails.