IncommensurableHubris/nowhere-mcp-server
If you are the rightful owner of nowhere-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
NOWHERE MCP Server is a production-ready Model Context Protocol server offering reusable tools for multimodal knowledge processing, designed for the NOWHERE project but adaptable for any developer's needs.
NOWHERE MCP Server
Production-ready Model Context Protocol server providing 6 reusable tools for multimodal knowledge processing.
Built for the NOWHERE project, but designed to be reusable by any developer building knowledge management, content analysis, or graph visualization applications.
✨ Tools
1. extract_web_content
Extract clean, structured content from any web URL
Input:
url: Web URL to extract content frommaxImages?: Maximum number of images to extract (default: 5)
Output:
title,content,excerpt,images[],metadata
Use Cases:
- Knowledge base population (Obsidian, Notion plugins)
- Content curation platforms
- Research tools
- Web clipper applications
2. analyze_multimodal_content
Semantic + visual analysis via Gemini (text + images)
Input:
content: Text content to analyzeimages?: Array of image URLs to analyzetitle?: Content title (helps with context)
Output:
concepts[],themes[],mood,eracolorPalette[],architecturalEra,buildingStyle,citizenStyle
Use Cases:
- Content categorization systems
- Design inspiration extraction
- Semantic tagging automation
- Style transfer applications
3. semantic_similarity
Calculate semantic similarity between two pieces of content
Input:
contentA: First piece of contentcontentB: Second piece of content
Output:
similarityScore: 0.0 (different) to 1.0 (identical)commonConcepts[],uniqueToA[],uniqueToB[]relationship: related | contrasting | complementary | unrelated
Use Cases:
- Duplicate detection
- Content recommendations
- Clustering algorithms
- Plagiarism detection
4. build_knowledge_graph
Construct knowledge graph from multiple documents
Input:
documents[]: Array of{id, title, content, concepts[]}similarityThreshold?: Minimum similarity to create edge (default: 0.3)
Output:
nodes[]: Documents with connection countsedges[]: Connections with strength and shared conceptsclusters[]: Detected community clustersstats: Graph statistics
Use Cases:
- Any knowledge management application
- Research organization tools
- Content relationship mapping
- Network visualization apps
5. calculate_force_layout
Optimal 2D/3D positions for graph nodes
Input:
graph:{nodes[], edges[]}dimensions?: 2 or 3 (default: 2)
Output:
positions:{nodeId: {x, y, z?}}bounds: Bounding box dimensionsconverged: true (layout stable)
Use Cases:
- Graph visualization applications
- Network diagrams
- Mind mapping tools
- Any spatial data layout
6. generate_conceptual_debate
Generate playful debates between concepts
Input:
topicA:{title, concepts[]}topicB:{title, concepts[]}tone?: friendly | heated | philosophical | eli5
Output:
turns[]:{speaker: 'A'|'B', text}suggestedVoices: Voice profile suggestions
Use Cases:
- Educational tools (compare/contrast)
- Content engagement features
- Comparative analysis automation
- Entertainment applications
🚀 Usage
With Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"nowhere": {
"command": "node",
"args": ["/path/to/mcp-server/dist/index.js"]
}
}
}
With Smithery CLI
# Install via Smithery
npx @smithery/cli install nowhere-mcp-server
# Or run locally
npm install
npm run build
npm start
Direct Node.js
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
const client = new Client({
name: 'my-app',
version: '1.0.0'
});
// Call extract_web_content
const result = await client.callTool('extract_web_content', {
url: 'https://example.com/article'
});
📦 Tech Stack
- MCP SDK:
@modelcontextprotocol/sdk - AI: Google Gemini 1.5 Flash (multimodal text + vision)
- Graph: D3.js force-directed layout
- Extraction: Mozilla Readability + Cheerio + JSDOM
⚙️ Environment Variables
Required:
GEMINI_API_KEY=your_gemini_api_key_here
🧪 Development
# Install dependencies
npm install
# Run in development mode (hot-reload)
npm run dev
# Build for production
npm run build
# Start production server
npm start
# Open playground (if using Smithery CLI)
npm run playground
📝 License
MIT
🎯 Built by NOWHERE
These tools power NOWHERE - a project that transforms articles into living knowledge cities.
But they're designed to be reusable - use them in your own apps!
Example Use Case (NOWHERE)
- Extract article content with
extract_web_content - Analyze semantics + visuals with
analyze_multimodal_content - Build knowledge graph with
build_knowledge_graph - Layout city positions with
calculate_force_layout - Generate citizen debates with
generate_conceptual_debate
Your Use Case?
- Build a research organization tool
- Create a content recommendation engine
- Develop a visual knowledge mapper
- Design an educational comparison platform
The tools are generic - use them however you want!
🌟 Why MCP?
Model Context Protocol (MCP) makes AI tools discoverable, reusable, and composable.
Instead of building bespoke APIs, MCP provides a standard way to expose tools that ANY AI application can use.
Learn more: modelcontextprotocol.io
🤝 Contributing
Found a bug? Have a feature request? Open an issue!
Want to add more tools? PRs welcome!
Built with ❤️ for the AI developer community.