This MCP (Model Context Protocol) server provides information retrieval and utility tools through AI agents via multiple API integrations:
Web Search - Search the web using the Tavily API
Roll Dice - Simulate dice rolls using standard notation (e.g., "2d6") with customizable roll counts
Number Fact - Get interesting mathematical or date-related facts using the NumbersAPI
Space Fact - Retrieve NASA's Astronomy Picture of the Day with title, date, description, and image URL
Animal Fact - Get fun facts about various animals (defaults to dog)
Science Term - Explain scientific terminology using Wikipedia summaries
The server runs in stdio transport mode and integrates with AI agents like LangGraph with GPT-4 for conversational interfaces.
Mentioned as a CLI tool requirement for Windows installation, allowing repository cloning and version control operations
Provides integration for building AI agent applications that can connect to and interact with MCP server tools through stdio transport
Enables creation of ReAct agents using GPT-4o model that can interact with MCP server tools for web search and other capabilities
AI Makerspace: MCP Session Repo for Session 13
This project is a demonstration of the MCP (Model Context Protocol) server, which utilizes the Tavily API for web search capabilities. The server is designed to run in a standard input/output (stdio) transport mode.
Project Overview
The MCP server is set up to handle web search queries using the Tavily API. It is built with the following key components:
TavilyClient: A client for interacting with the Tavily API to perform web searches.
Prerequisites
Python 3.13 or higher
A valid Tavily API key
⚠️NOTE FOR WINDOWS:⚠️
You'll need to install this on the Windows side of your OS.
This will require getting two CLI tool for Powershell, which you can do as follows:
winget install astral-sh.uvwinget install --id Git.Git -e --source winget
After you have those CLI tools, please open Cursor into Windows.
Then, you can clone the repository using the following command in your Cursor terminal:
After that, you can follow from Step 2. below!
Installation
Clone the repository:
git clone <repository-url> cd <repository-directory>Configure environment variables: Copy the
.env.sampleto.envand add your Tavily API key:TAVILY_API_KEY=your_api_key_here🏗️ Add a new tool to your MCP Server 🏗️
Create a new tool in the server.py file, that's it!
Running the MCP Server
To start the MCP server, you will need to add the following to your MCP Profile in Cursor:
NOTE: To get to your MCP config. you can use the Command Pallete (CMD/CTRL+SHIFT+P) and select "View: Open MCP Settings" and replace the contents with the JSON blob below.
The server will start and listen for commands via standard input/output.
Usage
The server provides a web_search tool that can be used to search the web for information about a given query. This is achieved by calling the web_search function with the desired query string.
Activities:
There are a few activities for this assignment!
🏗️ Activity #1:
Choose an API that you enjoy using - and build an MCP server for it!
✅ Answer:
Added few new Apis in server.py.
Example:- like below
@mcp.tool()
def space_fact() -> str:
🏗️ Activity #2:
Build a simple LangGraph application that interacts with your MCP Server.
You can find details here!
✅ Answer:
This project includes a simple LangGraph client that connects to the MCP server and uses AI agents to interact with the tools.
Setup
Install dependencies:
uv syncSet up environment variables by adding your OpenAI API key to
.env:OPENAI_API_KEY=your_api_key_hereRun the LangGraph client:
uv run langgraph_client.py
How It Works
The LangGraph client:
Connects to your MCP server via stdio transport
Loads all available tools (e.g.,
web_search,roll_dice,number_fact)Creates a ReAct agent using
openai:gpt-4oDemonstrates tool usage with example queries