nowhere-mcp-server

IncommensurableHubris/nowhere-mcp-server

3.2

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.

Tools
6
Resources
0
Prompts
0

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 from
  • maxImages?: 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 analyze
  • images?: Array of image URLs to analyze
  • title?: Content title (helps with context)

Output:

  • concepts[], themes[], mood, era
  • colorPalette[], 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 content
  • contentB: 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 counts
  • edges[]: Connections with strength and shared concepts
  • clusters[]: Detected community clusters
  • stats: 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 dimensions
  • converged: 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)

  1. Extract article content with extract_web_content
  2. Analyze semantics + visuals with analyze_multimodal_content
  3. Build knowledge graph with build_knowledge_graph
  4. Layout city positions with calculate_force_layout
  5. 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.