Skip to main content
Glama
sadeghetemad

wikipedia-mcp-agent

by sadeghetemad

🌐 Wikipedia MCP Agent

A conversational AI agent that searches and reads Wikipedia using the Model Context Protocol (MCP), LangGraph, and AWS Bedrock (Claude Sonnet).

Python LangGraph MCP AWS Bedrock License


Overview

This project wires together three modern AI infrastructure pieces:

  1. MCP (Model Context Protocol) — a standard way to expose tools, prompts, and resources to an LLM

  2. LangGraph — a graph-based agent framework for multi-step reasoning with tool calls

  3. AWS Bedrock — managed LLM inference using Anthropic's Claude Sonnet

The agent launches an MCP server as a subprocess, dynamically loads its Wikipedia tools at runtime, and runs a stateful chat loop where the LLM can call tools as needed before answering.


Related MCP server: wikipedia-mcp

Architecture

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│                    mcp_client.py                    │
│                                                     │
│  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”   │
│  │              LangGraph StateGraph            │   │
│  │                                              │   │
│  │   START ──► chat_node ──► tool_node ──┐      │   │
│  │                  ā–²                    │      │   │
│  │                  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜      │   │
│  │                         │ END                │   │
│  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜   │
│                            │ tool calls              │
│              stdin/stdout (MCP stdio transport)      │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
                             │
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā–¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│                    mcp_server.py                    │
│                                                     │
│   Tools      search_wikipedia                       │
│              list_wikipedia_sections                │
│              get_section_content                    │
│                                                     │
│   Prompts    highlight_sections_prompt              │
│                                                     │
│   Resources  suggested_titles                       │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
                             │
                    wikipedia Python library

Features

Tools

Tool

Description

search_wikipedia

Search Wikipedia and return the summary + URL of the top result

list_wikipedia_sections

List all section titles of a Wikipedia article

get_section_content

Fetch the full text of a specific section

Prompts

Prompt

Description

highlight_sections_prompt

Ask the LLM to pick the 3–5 most important sections of an article and explain why

Resources

Resource

Description

suggested_titles

Reads a local suggested_titles.txt file with topic suggestions


Getting Started

Prerequisites

  • Python 3.10+

  • AWS account with Bedrock access enabled for anthropic.claude-sonnet-4-6 in eu-west-2

Installation

# Clone the repo
git clone https://github.com/sadeghetemad/wikipedia-mcp-agent.git
cd wikipedia-mcp-agent

# Create and activate a virtual environment
python -m venv venv
venv\Scripts\activate        # Windows
# source venv/bin/activate   # macOS / Linux

# Install dependencies
pip install -r requirements.txt

AWS Credentials

Configure your credentials via the AWS CLI or environment variables:

aws configure

Or manually:

export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
export AWS_DEFAULT_REGION=eu-west-2

Make sure your IAM user/role has the bedrock:InvokeModel permission.


Usage

python mcp_client.py

You will see:

Wikipedia MCP agent is ready.
Type a question or use one of the slash commands below:
  /prompts                       - list available prompt templates
  /prompt <name> "arg1" ...      - run a prompt template
  /resources                     - list available resources
  /resource <name or index>      - view a resource
  exit / quit / q                - quit

Example session

You: What is quantum entanglement?
AI: Quantum entanglement is a physical phenomenon where two or more particles ...

You: /prompts
Available Prompts:
  highlight_sections_prompt  (topic)

You: /prompt highlight_sections_prompt "Black hole"
=== Prompt Result ===
• Formation — explains how black holes arise from stellar collapse
• Event horizon — the defining boundary of no return
...

You: /resources
Available Resources:
[1] suggested_titles

You: /resource 1
=== Resource Text ===
Artificial intelligence
Large language model
...

Optional: suggested_titles.txt

Create this file in the project root (one topic per line) to populate the suggested_titles resource:

Artificial intelligence
Large language model
Model Context Protocol
Quantum computing

Project Structure

wikipedia-mcp-agent/
ā”œā”€ā”€ mcp_server.py          # FastMCP server — tools, prompts, resources
ā”œā”€ā”€ mcp_client.py          # LangGraph agent + interactive chat loop
ā”œā”€ā”€ requirements.txt       # Pinned Python dependencies
ā”œā”€ā”€ suggested_titles.txt   # (optional) topic suggestions for the resource
└── README.md

Tech Stack

Layer

Library

LLM

AWS Bedrock via langchain-aws

Agent framework

LangGraph

Tool protocol

MCP via mcp + langchain-mcp-adapters

Wikipedia data

wikipedia


License

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • 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
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to access Wikipedia content, search articles, retrieve historical events, and fetch images through the Wikipedia API.
    4
    19
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides access to Wikipedia through 10 tools including search, article retrieval, summarization, and fact extraction, with multi-language support and robust error handling.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sadeghetemad/wikipedia-mcp-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server