Skip to main content
Glama
nishant-Tiwari24

LangChain MCP

langchain_mcp

This repository demonstrates a minimal working MCP (Multi-Server Control Plane) setup using LangChain, with:

  • A dummy jobs and employee API (FastAPI)

  • Two MCP servers (jobs and employee feedback, each on its own port)

  • A Python client that can query both servers simultaneously (multi-server, multi-tool)


Requirements

  • Python 3.9+

  • pip

  • Node.js (optional, only if you want to build a frontend)

  • An OpenAI API key (for GPT-4o)


Related MCP server: ClawHire MCP

Setup

1. Clone the repository

git clone https://github.com/nishant-Tiwari24/mcp.git
cd mcp

2. Create and activate a virtual environment

python3 -m venv .venv
source .venv/bin/activate

Note: .venv is gitignored. You must create it yourself.

3. Install Python dependencies

pip install --upgrade pip
pip install -r requirements.txt

4. Set your OpenAI API key

Create a .env file in the project root (not tracked by git):

OPENAI_API_KEY=sk-...your-key-here...

Or export it in your shell before running the client:

export OPENAI_API_KEY=sk-...your-key-here...

Running the Demo

1. Start the dummy jobs/employee API

uvicorn mcp_server.jobs_api:app --port 8001 --host 127.0.0.1

2. Start both MCP servers (in a new terminal)

python run_servers.py

This will start:

  • Jobs server on port 8000

  • Employee server on port 8002

Or, to run them manually in separate terminals:

python mcp_server/server.py jobs
python mcp_server/server.py employee

3. Run the multi-server client (in a new terminal)

python langchain_mcp_client.py
  • The client will connect to both servers and can use tools from both in a single conversation.

  • Make sure your OpenAI API key is exported or in a .env file.


File Structure

  • langchain_mcp_client.py — Python client for querying both MCP servers (multi-server, multi-tool)

  • mcp_server/server.py — MCP servers (jobs and employee feedback, each on its own port)

  • mcp_server/jobs_api.py — Dummy FastAPI backend for jobs and employee data

  • run_servers.py — Script to start both MCP servers at once

  • requirements.txt — Python dependencies

  • .gitignore — Excludes .venv, .env, and other environment files


Notes

  • The .venv directory and .env file are not included in the repo. You must create them locally.

  • Only the minimal, required files are tracked in git.

  • If you want to add a frontend, you can do so separately (not included in this repo).


Example Usage

  • Multi-server client:

    • Query: "I need to find similar jobs for an AI engineer position in San Jose, CA with 4-5 years of experience, and also get a feedback summary for Kalyan P. Can you help me with both?"

    • The client will use both tools: find_similar_jobs and summarize_employee_feedback.


License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A zero-configuration job aggregation server that enables searching for positions and retrieving details across multiple recruitment platforms using natural language. It provides standardized data for job requirements, salary comparisons, and market trends directly within AI clients.
    26 npm
    129
    ISC
  • F
    license
    A
    quality
    Not graded
    maintenance
    An employer-facing MCP server that enables hiring managers to post jobs, search for candidates, and manage applications through natural language conversation. It integrates with WonderCV's hiring infrastructure and features a unique system for identifying and filtering talent with AI-agent fluency.
    7
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server that exposes job search data from multiple boards, enabling clients to query and manage job listings via natural language.
    7
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A custom MCP server that exposes a jobs database to any MCP-compatible LLM client, allowing users to ask in plain English to search, filter, and match job openings.
    MIT