README.md•2.08 kB
# Federated Directory MCP
A Model Context Protocol (MCP) server that integrates Claude with the Federated Directory API, allowing for contact searches by name or email address.
## Features
- Search contacts by name
- Search contacts by email address
- Comprehensive API request/response logging
- Automatic query type detection
- Error handling and validation
## Prerequisites
- Node.js (v18 or higher)
- A Federated Directory API key
## Installation
1. Clone the repository:
```bash
git clone [repository-url]
cd MCP
```
2. Install dependencies:
```bash
npm install
```
3. Copy the environment variables template:
```bash
cp .env.example .env
```
4. Configure your environment variables in `.env`:
```env
FEDERATED_DIRECTORY_API_KEY=your_api_key_here
```
## Usage
1. Start the MCP server:
```bash
node index.js
```
2. The server will start and wait for requests from Claude.
3. Example interactions:
Search by name:
```
Input: "John Smith"
```
Search by email:
```
Input: "john@example.com"
```
## API Response Format
The server returns results in the following format:
```json
{
"message": "Here are the contacts matching your search:",
"results": [
{
"name": "John Smith",
"email": "john@example.com",
"organization": "Example Corp",
"title": "Software Engineer"
}
]
}
```
## Logging
The server logs all API interactions, including:
- Request method, URL, headers, and body
- Response status, headers, and body
- Search parsing and processing details
## Environment Variables
| Variable | Description | Required | Default |
|----------|-------------|----------|---------|
| FEDERATED_DIRECTORY_API_KEY | Your API key for Federated Directory | Yes | - |
| PORT | Server port number | No | 3000 |
| LOG_LEVEL | Logging verbosity | No | info |
## Error Handling
The server handles various error cases:
- Missing API key
- Invalid search queries
- API request failures
- Network issues
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.