Skip to main content

MCP People Finder

Model Context Protocol (MCP) Server for AI agents to safely discover and query employee information.

This is a demo/educational project using simulated data to illustrate how MCP servers work. It demonstrates how to build enterprise-grade tools that AI agents can call securely over standard input/output (stdio).

What is MCP?

Model Context Protocol enables AI agents (like Claude) to call external tools in a standardized, type-safe way. Instead of embedding logic directly, agents can request specific information through well-defined tool interfaces. This server uses stdio for communication — a client (like Claude Desktop) starts your Python script as a background process.

Features

  • Employee Search — Query employee details (role, email, status)
  • Office Location Lookup — Find office addresses by city
  • Global Office Directory — List all office locations
  • Production-Ready Structure — Demonstrates enterprise MCP patterns
  • Easy Testing — Built-in MCP Inspector integration

Prerequisites

  • Python 3.11+ — Required for running the server
  • Node.js — Required for MCP Inspector testing (optional, for development only)

Installation

pip install mcp-people-finder

Usage

Once installed, you can run the server directly:

people-finder

Expected Output

$ people-finder
MCP People Finder Server running on stdio...

Available Tools

Tool Input Output
search_employee Employee name Role, email, employment status
get_office_location City/location Office address, phone
list_all_offices (none) List of all global office locations

Testing & Development

Use MCP Inspector for local testing

For testing use the MCP Inspector (npx @modelcontextprotocol/inspector) to test this MCP server locally.

Run this command on your machine (it requires Node.js):

npx @modelcontextprotocol/inspector people-finder
  • This will launch a web browser window.
  • You will see your get_employee_info tool listed.
  • You can click "Run", type "Alice" in the box, and see the result.
  • Why this matters: This is how you "smoke test" your production server to ensure the logic works before letting an expensive AI Agent touch it.

Use with Claude Desktop

To integrate this MCP server with Claude Desktop:

  1. Ensure the package is installed: pip install mcp-people-finder
  2. Configure Claude Desktop config file to point to people-finder command
  3. Restart Claude Desktop to load the server
  4. Claude will now have access to all three tools

Error Handling

If a tool call fails, the server returns a graceful error response:

{
  "error": "Employee 'XYZ' not found in database"
}

This allows Claude to handle errors intelligently (retry, ask for clarification, etc.) rather than crashing.

Configuration

The server reads from environment variables (optional):

  • MCP_LOGLEVEL — Set to DEBUG for verbose output (default: INFO)
  • EMPLOYEE_DB — Path to custom employee database (currently uses hardcoded demo data)

Need Help?

Metadata

Release files for mcp-people-finder 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-people-finder 0.1.1
File Size Uploaded
mcp_people_finder-0.1.1.tar.gz 5.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-people-finder 0.1.1
File Interpreter ABI Platform
mcp_people_finder-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 9.5 kB

Release files / mcp_people_finder-0.1.1.tar.gz

Download URL mcp_people_finder-0.1.1.tar.gz
Size 5.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e68234a0a939477c7e38394cfa86cca6be0cfce99c188414bea5fa80327314a1
BLAKE2b-256 checksum
How to use checksums
38ba20d5abda7cee6f042516baa01f2ecf2c7ed5e8f50226adb8bda4cc00548c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release files / mcp_people_finder-0.1.1-py3-none-any.whl

Download URL mcp_people_finder-0.1.1-py3-none-any.whl
Size 4.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
929c3547516aea7fc11f1822fdeecdc82f578a6760dc1ffc3fa360a5947e8f98
BLAKE2b-256 checksum
How to use checksums
13e23dcd8110b6c6dd64362195d897e9f3333bedea8e9f9a03752d1cd338d452
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page