Talk to My Org Chart - MCP Server
This is the MCP (Model Context Protocol) server for the "Talk to My Org Chart" service. It allows AI assistants to query organizational data through a set of standardized tools.
Overview
The MCP server provides a set of tools for querying organizational data, including:
- Looking up employees by name or alias
- Finding direct and indirect reports
- Searching for employees by various criteria
- Getting organizational metrics
Setup
Prerequisites
- Python 3.9+
- Azure AD tenant (for authentication)
- Access to an organizational data source
Installation
pip install ttmoc
With environment variables:
WHO_NEXT_API_URL: The URL of your API server (e.g., http://localhost:8000)AAD_TENANT_ID: Your Azure Active Directory tenant ID
Available Tools (API Functions)
Once the server is running, it exposes several tools for querying org chart data:
- lookup_employee_by_name_or_alias: Look up employees by display name or alias.
- lookup_direct_reports: Get direct reports for a manager.
- find_all_reports_by_alias: Get all reports (direct and indirect) for a manager, with optional filtering. Note this will usually return a lot of results, so it's recommended to use limit to limit the number of results.
- find_employees: Find employees across the entire organization by criteria (name, title, cost center, etc.). Note this will usually return a lot of results, so it's recommended to use limit to limit the number of results.
- get_span_of_control_by_alias: Get span of control metrics for a manager. Span of control describes on average how many employees a manager has in the organization.
- get_org_depth_by_alias: Get organizational depth metrics for an employee.
- count_all_reports_by_alias: Count all reports (direct and indirect) for a manager, with optional filtering.
- count_employees: Count employees by criteria across the entire organization.
Usage Examples
Looking up an Employee
result = await lookup_employee_by_name_or_alias(name_or_alias="John Doe")
Finding Direct Reports
reports = await lookup_direct_reports(alias="johndoe", limit=20)
Finding All Reports with Filtering
all_reports = await find_all_reports_by_alias(
alias="johndoe",
title="Software Engineer",
limit=100
)
Counting Employees by Criteria
count = await count_employees(
title="Product Manager",
is_manager=True
)
Getting Organizational Metrics
span = await get_span_of_control_by_alias(alias="johndoe")
depth = await get_org_depth_by_alias(alias="johndoe")
Metadata
Release files for ttmoc 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ttmoc-0.1.9.tar.gz | 12.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ttmoc-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.3 kB
Release files / ttmoc-0.1.9.tar.gz
| Download URL | ttmoc-0.1.9.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e9c2acecacc91da3746b08191f0ef8a540f3caad43edc6ef85e08a80ec3e90e
|
|
BLAKE2b-256 checksum How to use checksums |
809683b1376f10c09e99b9758cf7c26f786c5613cb458bb622397b60beb6a2dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|
Release files / ttmoc-0.1.9-py3-none-any.whl
| Download URL | ttmoc-0.1.9-py3-none-any.whl |
|---|---|
| Size | 12.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
349e8e41084bb5f32af1326ef3166b2a84aab94b5b6318e9cdcf4768d90f3cae
|
|
BLAKE2b-256 checksum How to use checksums |
46fb5fb720d0e9e5ebbeb5c09f56b1ef12718b96945851cbb6a6799a674f0ea7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|