Skip to main content
Glama
JOBIN456

wikipedia

by JOBIN456

🚀 FastAPI + FastMCP + LangChain Wikipedia Agent

Ein KI-gestützter Wikipedia-Recherche-Agent, der zeigt, wie FastAPI, FastMCP, LangChain und LangGraph zusammenarbeiten können, um eine modulare, werkzeugnutzende KI-Anwendung zu erstellen.

Das Projekt stellt Wikipedia-Funktionen über einen MCP-Server (Model Context Protocol) bereit und ermöglicht es einem LangChain/LangGraph-Agenten, diese Werkzeuge automatisch zu entdecken und zu nutzen.


🏗️ Architektur

                    ┌──────────────────────┐
                    │       User           │
                    │   Natural Language   │
                    └──────────┬───────────┘
                               │
                               ▼
                    ┌──────────────────────┐
                    │       FastAPI        │
                    │    Application API   │
                    └──────────┬───────────┘
                               │
                               ▼
                    ┌──────────────────────┐
                    │   LangChain Agent    │
                    │      LangGraph       │
                    └──────────┬───────────┘
                               │
                         MCP Protocol
                               │
                               ▼
                    ┌──────────────────────┐
                    │      FastMCP         │
                    │     MCP Server       │
                    └──────────┬───────────┘
                               │
                    ┌──────────┴───────────┐
                    ▼                      ▼
             ┌──────────────┐      ┌──────────────┐
             │   Wikipedia  │      │   Wikipedia  │
             │    Search    │      │     Page     │
             └──────────────┘      └──────────────┘

Related MCP server: MCP Wikipedia Server

✨ Funktionen

  • 🤖 LLM-gestützte Wikipedia-Recherche

  • 🔌 Model-Context-Protocol-Integration (MCP)

  • ⚡ FastAPI-Anwendungsschicht

  • 🧠 LangChain-Agenten-Integration

  • 🔄 LangGraph-ReAct-Agent

  • 🔎 Wikipedia-Suchwerkzeug

  • 📄 Wikipedia-Seitenabruf-Werkzeug

  • 🔗 MCP-Werkzeugerkennung

  • 📡 stdio-basierte MCP-Kommunikation

  • 🧩 Modulare Architektur, die problemlos zusätzliche Werkzeuge unterstützen kann


🛠️ Tech-Stack

Technologie

Zweck

Python

Kernprogrammiersprache

FastAPI

API-/Anwendungsschicht

FastMCP

MCP-Server- und Werkzeugimplementierung

LangChain

LLM- und Werkzeugintegration

LangGraph

Agenten-Workflow

Requests

Wikipedia-API-Anfragen

Wikipedia REST API

Externe Wissensquelle


🔧 MCP-Werkzeuge

Der FastMCP-Server stellt zwei Werkzeuge bereit.

search_wikipedia

Durchsucht Wikipedia nach einem bestimmten Thema.

@mcp.tool
def search_wikipedia(query: str):
    ...

Beispiel:

Search Wikipedia for Albert Einstein

Der Agent kann automatisch entscheiden, Folgendes aufzurufen:

search_wikipedia("Albert Einstein")

get_wikipedia_page

Ruft den Inhalt einer bestimmten Wikipedia-Seite ab.

@mcp.tool
def get_wikipedia_page(title: str):
    ...

Beispiel:

Get the Wikipedia page for Artificial Intelligence

Der Agent kann Folgendes aufrufen:

get_wikipedia_page("Artificial Intelligence")

🔄 So funktioniert MCP in diesem Projekt

Der MCP-Server läuft mit:

mcp.run(transport="stdio")

Der LangChain-Client verbindet sich mit dem MCP-Server:

client = MultiServerMCPClient(
    {
        "wikipedia": {
            "command": "python",
            "args": ["server.py"],
            "transport": "stdio",
        }
    }
)

Der Client erkennt dann die verfügbaren MCP-Werkzeuge:

tools = await client.get_tools()

Diese Werkzeuge werden an den LangGraph-Agenten übergeben:

agent = create_react_agent(
    model,
    tools
)

Das LLM kann dann anhand der Benutzeranfrage entscheiden, welches Werkzeug verwendet werden soll.


⚙️ Installation

1. Repository klonen

git clone https://github.com/YOUR_USERNAME/langchain-mcp-wikipedia.git
cd langchain-mcp-wikipedia

2. Virtuelle Umgebung erstellen

Windows:

python -m venv venv
venv\Scripts\activate

Linux/macOS:

python3 -m venv venv
source venv/bin/activate

3. Abhängigkeiten installieren

pip install -r requirements.txt

🔐 Umgebungsvariablen

Erstellen Sie eine .env-Datei:

OPENAI_API_KEY=your_openai_api_key

🧠 Warum MCP?

Die traditionelle Werkzeugintegration koppelt eine LLM-Anwendung oft eng an einzelne APIs.

MCP bietet eine standardisierte Möglichkeit, Fähigkeiten als Werkzeuge bereitzustellen.

LLM
 │
 ▼
LangChain / LangGraph
 │
 ▼
MCP Client
 │
 ▼
MCP Server
 │
 ├── Wikipedia
 ├── Search
 ├── Database
 ├── APIs
 └── Custom Tools

Diese Trennung macht Werkzeuge über verschiedene KI-Anwendungen und Agenten hinweg wiederverwendbar.


📌 Demonstrierte Schlüsselkonzepte

Dieses Projekt ist nützlich zum Lernen von:

  • Model Context Protocol (MCP)

  • FastMCP

  • MCP-Server

  • MCP-Clients

  • stdio-Transport

  • LangChain-Werkzeugintegration

  • LangGraph-Agenten

  • ReAct-Agenten

  • FastAPI

  • Externe API-Integration

  • LLM-Werkzeugaufrufe

  • Modulare KI-Agentenarchitektur

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    A Model Context Protocol server that retrieves information from Wikipedia to provide context to LLMs, allowing users to search articles, get summaries, full content, sections, and links from Wikipedia.
    22
    4,717 PyPI
    299
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A production-ready server that provides Wikipedia search and content retrieval tools through the Model Context Protocol, enabling AI assistants to search for articles, list sections, and retrieve specific content.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables LLMs to search for keywords and fetch full page content from Wikipedia across various languages. It provides direct access to Wikipedia information through search and fetch tools.
    2
    4
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI agents to search, read, and explore Wikipedia articles via tools like summaries, categories, and random articles, with no API keys required.
    1
    MIT