Skip to main content
Glama
rach16

MCP Server for Session 13

by rach16

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.

Related MCP server: Tavily Web Search MCP Server

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.uv

  • winget 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:

git clone https://AI-Maker-Space/AIE8-MCP-Session.git

After that, you can follow from Step 2. below!

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd <repository-directory>
  2. Configure environment variables: Create a .env file and add your API keys:

    TAVILY_API_KEY=your_tavily_api_key_here
    NEWS_API_KEY=your_news_api_key_here
  3. πŸ—οΈ 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.

{
    "mcpServers":  {
        "mcp-server": {
            "command" : "uv",
            "args" : ["--directory", "/PATH/TO/REPOSITORY", "run", "server.py"]
        }
    }
}

The server will start and listen for commands via standard input/output.

Usage

The server provides several tools for different functionalities:

Available Tools:

  1. web_search(query: str) - Search the web for information about a given query using Tavily API

  2. roll_dice(notation: str, num_rolls: int) - Roll dice with custom notation (e.g., "2d6", "1d20")

  3. get_marketing_news(company: str, category: str, num_articles: int) - Get latest marketing and business news from companies like ZoomInfo, 6sense, HubSpot, etc.

  4. get_company_news(company: str, num_articles: int) - Get specific news about a particular company

Example Usage:

  • get_marketing_news() - Get general marketing tech news

  • get_marketing_news(company="ZoomInfo") - Get ZoomInfo-specific news

  • get_company_news(company="6sense") - Get 6sense company news

  • roll_dice("2d6", 3) - Roll 2 six-sided dice 3 times

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!

πŸ—οΈ Activity #2:

Build a simple LangGraph application that interacts with your MCP Server.

Files for Activity #2:

  • langgraph_app.py - LangGraph application with MCP integration

To test Activity #2:

uv run langgraph_app.py
F
license - not found
-
quality - not tested
D
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/rach16/AIE8-MCP-Session13'

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