Integrates with Brave Search API to provide web search and local business search capabilities, with support for pagination, content filtering, and automatic fallbacks between search types.
Forensics Connection MCP Server
A Model Context Protocol (MCP) server that analyzes forensic evidence to identify people and their connections, then generates Python code for network visualization.
Features
LLM-Powered Relationship Analysis: Uses OpenAI's GPT-4 to intelligently analyze relationships between people in evidence text
Network Visualization: Generates comprehensive Python code using NetworkX and Matplotlib for interactive network graphs
Evidence Parsing: Automatically extracts and categorizes different types of evidence (police reports, witness statements, communications, etc.)
Connection Strength Scoring: Assigns relationship strength scores (1-10) based on evidence quality
Cluster Analysis: Identifies groups and central figures in the network
Flexible Filtering: Configurable minimum connection strength thresholds
Related MCP server: Brave Search MCP Server
Installation
Clone the repository:
Install dependencies:
Set up environment variables:
Build the project:
Configuration
Create a .env file with your OpenAI API key:
Usage
As an MCP Server
The server can be used with any MCP-compatible client:
Available Tools
analyze_connections
Analyzes evidence text to identify people and their connections.
Parameters:
evidence(required): The evidence text to analyzeoptions(optional):includeVisualization(boolean, default: true): Whether to include Python visualization codeminimumConnectionStrength(number, default: 3): Minimum connection strength to include (1-10)groupByOrganization(boolean, default: true): Whether to group people by organization
Returns:
List of people identified with their organizations and roles
Connections between people with strength scores and evidence
Central figures in the network
Clusters/groups of related people
Python code for network visualization
Example Usage
LLM-Enhanced Relationship Analysis
The system uses OpenAI's GPT-4 to analyze relationships with sophisticated context understanding:
Direct Communications: Emails, messages, calls (strength: 9-10)
Face-to-Face Meetings: Shared events, professional collaboration (strength: 7-8)
Group Communications: Shared concerns, indirect interactions (strength: 5-6)
Professional Associations: Mentioned together, weak connections (strength: 3-4)
Coincidental Mentions: Very weak connections (strength: 1-2)
Python Visualization Output
The generated Python code includes:
Network Graph: Interactive visualization with NetworkX and Matplotlib
Organization Grouping: Color-coded nodes by organization
Connection Types: Different edge styles for different relationship types
Centrality Analysis: Node sizes based on degree centrality
Statistical Report: Network statistics and key findings
Customizable Layout: Spring layout for optimal node positioning
Required Python Dependencies
The generated code requires:
Development
Scripts
npm run build: Compile TypeScript to JavaScriptnpm run dev: Build with watch modenpm start: Run the compiled servernpm run inspector: Run with MCP inspector for debugging
Project Structure
Connection Types
The system identifies several types of connections:
communication: Direct communications (emails, messages)
meeting: In-person meetings and events
witness: Witness/observer relationships
location: Geographic/location-based connections
organization: Same organization affiliations
other: General associations and mentions
Error Handling
Fallback to pattern-based analysis if LLM calls fail
Rate limiting protection for OpenAI API calls
Comprehensive error reporting and logging
Graceful degradation for missing data
License
MIT License