ext-apps/examples/wiki-explorer-server
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Anton Pidkuiko 8550545ccb
fix: add mimeType to resource declarations in examples (#149)
According to spec, mimeType should be present in both the resource
declaration and the resource content. This adds the missing mimeType
to the registerResource() declaration (third parameter) in all example
servers and the quickstart documentation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: ochafik <olivier.chafik@gmail.com>
2025-12-15 12:09:47 +00:00
..
src Add wiki-explorer-server example (#122) 2025-12-11 13:58:05 +01:00
mcp-app.html Add wiki-explorer-server example (#122) 2025-12-11 13:58:05 +01:00
package.json Implement BYO zod v3 or v4 2025-12-12 11:29:02 +01:00
README.md Add wiki-explorer-server example (#122) 2025-12-11 13:58:05 +01:00
server.ts fix: add mimeType to resource declarations in examples (#149) 2025-12-15 12:09:47 +00:00
tsconfig.json Add wiki-explorer-server example (#122) 2025-12-11 13:58:05 +01:00
vite.config.ts Add wiki-explorer-server example (#122) 2025-12-11 13:58:05 +01:00

Example: Wiki Explorer

Visualizes Wikipedia link graphs using a force-directed layout. Explore how Wikipedia pages are connected by expanding nodes to reveal first-degree links.

Zoomed Pop-up Expanded graph

Features

  • Force-directed graph visualization: Interactive graph powered by force-graph
  • Node expansion: Click any node to expand and see all pages it links to
  • Visual state tracking: Nodes change color based on state (blue = default, green = expanded, red = error)
  • Direct page access: Open any Wikipedia page in your browser

Running

  1. Install dependencies:

    npm install
    
  2. Build and start the server:

    npm run start:http  # for Streamable HTTP transport
    # OR
    npm run start:stdio  # for stdio transport
    
  3. View using the basic-host example or another MCP Apps-compatible host.

Tool Input

To test the example, call the get-first-degree-links tool with a Wikipedia URL:

{
  "url": "https://en.wikipedia.org/wiki/Graph_theory"
}

Click nodes in the graph to Open (view in browser) or Expand (visualize linked pages).

Architecture

Server (server.ts)

MCP server that fetches Wikipedia pages and extracts internal links.

Exposes one tool:

  • get-first-degree-links - Returns links to other Wikipedia pages from a given page

App (src/mcp-app.ts)

Vanilla TypeScript app using force-graph for visualization that:

  • Receives tool inputs via the MCP App SDK
  • Renders an interactive force-directed graph
  • Supports node expansion to explore link relationships