An open API service indexing awesome lists of open source software.

https://github.com/medelman17/case-chronology-mcp

A Model Context Protocol (MCP) server for building and managing chronological timelines of case events. Perfect for legal professionals who need to organize complex case histories.
https://github.com/medelman17/case-chronology-mcp

Last synced: about 1 month ago
JSON representation

A Model Context Protocol (MCP) server for building and managing chronological timelines of case events. Perfect for legal professionals who need to organize complex case histories.

Awesome Lists containing this project

README

          

# Case Chronology MCP Server

A Model Context Protocol (MCP) server for building and managing chronological timelines of case events. Perfect for legal professionals who need to organize complex case histories.

## Features

- **Smart Date Parsing**: Handles various date formats including exact dates, approximate dates, months, and quarters
- **Document Parsing**: Automatically extract dates and events from pasted documents
- **Multi-format Export**: Generate timelines in Markdown, CSV, brief text, or JSON
- **Advanced Search**: Query by date range, parties, keywords, or tags
- **Party & Document Indexing**: Quick lookups by involved parties or source documents

## Installation

### Option 1: Using uvx (Recommended)

No installation needed! The server can be run directly with `uvx`.

### Option 2: Traditional Installation

1. Clone this repository:
```bash
git clone https://github.com/medelman17/case-chronology-mcp.git
cd case-chronology-mcp
```

2. Install with uv:
```bash
uv pip install -e .
```

Or with pip:
```bash
pip install -r requirements.txt
```

## Configuration

Add the server to your Claude Desktop configuration:

### Windows Users - Step by Step

#### Step 1: Download and Setup
1. Open **PowerShell** or **Command Prompt**
2. Navigate to where you want to install (e.g., your GitHub folder):
```powershell
cd C:\Users\%USERNAME%\GitHub
```
3. Clone the repository:
```powershell
git clone https://github.com/medelman17/case-chronology-mcp.git
cd case-chronology-mcp
```
4. **IMPORTANT:** Run the setup script (this creates a virtual environment and installs dependencies):
```powershell
.\setup.bat
```
Wait for it to complete. You should see "Setup complete!" at the end.

#### Step 2: Configure Claude Desktop
1. Open **Claude Desktop**
2. Go to **Settings** (gear icon in bottom left)
3. Click **Developer** tab
4. Find the **MCP Servers Configuration** section
5. Add this configuration (**replace `%USERNAME%` with your actual username**):

```json
{
"mcpServers": {
"case-chronology": {
"command": "C:\\Users\\%USERNAME%\\GitHub\\case-chronology-mcp\\run_server.bat"
}
}
}
```

**For example, if your username is `mikee`, use:**
```json
{
"mcpServers": {
"case-chronology": {
"command": "C:\\Users\\mikee\\GitHub\\case-chronology-mcp\\run_server.bat"
}
}
}
```

6. **Save** the configuration
7. **Restart Claude Desktop**

#### Step 3: Test It Works
After restarting Claude Desktop, you should see the Case Chronology server connected. Try asking:
> "Add an event: January 15, 2024 - Contract signed between ABC Corp and XYZ LLC"

### Mac/Linux Users

#### Option 1: Using uvx (Recommended)

```json
{
"mcpServers": {
"case-chronology": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/medelman17/case-chronology-mcp.git",
"case-chronology-mcp"
]
}
}
}
```

#### Option 2: Local Installation

```json
{
"mcpServers": {
"case-chronology": {
"command": "python",
"args": ["/full/path/to/case-chronology-mcp/chronology_server.py"]
}
}
}
```

## Usage Examples

### Adding Events

**Simple event:**
```
"Add event: March 15, 2023 - Smith emails Jones about breach of contract. Parties: Smith, Jones"
```

**Event with details:**
```
"Add event: 3/15/2023 - Contract breach notification sent. Parties: Smith, Jones. Tag: breach, notice. Significance: First formal notice of breach"
```

### Document Parsing

```
"Parse this email and add events to the chronology:

From: Bob Smith
To: Alice Jones
Date: March 15, 2023

I am writing to inform you that your failure to deliver by March 1, 2023 constitutes a breach..."
```

### Searching the Timeline

- "Show all events in March 2023"
- "Find events involving Smith"
- "Search for events tagged 'breach'"
- "Show events between 1/1/2023 and 6/30/2023"

### Exporting

- "Export the chronology as markdown"
- "Give me a brief timeline"
- "Export as CSV for Excel"
- "Export full JSON data"

## Date Format Support

The server intelligently parses various date formats:

- **Exact dates**: `3/15/2023`, `March 15, 2023`
- **Approximate dates**: `early March 2023`, `mid March 2023`, `late March 2023`
- **Month precision**: `March 2023`
- **Quarter precision**: `Q1 2023`
- **Approximate markers**: `around 3/15/2023`, `approximately March 2023`

## Data Storage

Events are stored in `case_chronology.json` in the same directory as the server. The file is created automatically on first use.

## Troubleshooting (Windows)

### ❌ "Virtual environment not found" error
- Make sure you ran `.\setup.bat` first
- Check that the `venv` folder exists in your project directory

### ❌ "Python not found" error
- Install Python 3.10 or later from [python.org](https://python.org)
- Make sure to check "Add Python to PATH" during installation

### ❌ "Setup failed" error
- Try running PowerShell as Administrator
- Or manually create the environment:
```powershell
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
```

### ❌ Server disconnects immediately
- Check that your path in Claude Desktop config is correct
- Make sure to use **double backslashes** (`\\`) in the JSON path
- Verify your username is correct in the path

### ❌ "Permission denied" errors
- Run PowerShell as Administrator
- Or try installing in a different location (like your Documents folder)

## Testing

Test the server with MCP Inspector:

```bash
npx @modelcontextprotocol/inspector python chronology_server.py
```

## Tools Available

- `add_event` - Add a single event to the chronology
- `parse_document` - Extract events from document text
- `search_timeline` - Search events by various criteria
- `get_timeline_summary` - Get overview statistics
- `export_chronology` - Export in different formats
- `update_event` - Modify existing events
- `delete_event` - Remove events from timeline

## License

MIT