MCP Tools Reference
Overview
Sound Suite exposes 14 analysis tools via the Model Context Protocol (MCP). These tools can be called by any MCP-compatible AI assistant (Claude Desktop, Cursor, Windsurf, custom integrations) or directly from the Sound Suite dashboard.
Tool Manager
Access the Tool Manager at /mcp-explorer to:
- View all 14 tools organized by category
- Enable or disable individual tools
- View tool configuration and parameters
- See usage statistics (run counts)
- Test tools with the built-in Explorer
Tool Categories
Tools are organized into 6 categories:
| Category | Tools | Description |
|---|---|---|
| Search | 4 tools | Find information across documents |
| Contradiction | 2 tools | Detect inconsistencies |
| Argument | 2 tools | Analyze legal arguments |
| Timeline | 2 tools | Reconstruct event sequences |
| Entity | 2 tools | Extract people, places, dates |
| Review | 2 tools | Analyze tone and privilege |
Search Tools
query_case_knowledge
Perform semantic search on legal documents using natural language queries. This is the primary search tool.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | Natural language search query |
case_id |
string | No | Limit search to a specific case |
limit |
number | No | Maximum results (default: 10) |
threshold |
number | No | Minimum relevance score (0-1) |
Example:
{
"tool": "query_case_knowledge",
"params": {
"query": "What were the grounds for the motion to dismiss?",
"case_id": "case-001",
"limit": 5
}
}
Returns: Array of matching text chunks with source document, page number, relevance score, and surrounding context.
scan_for_pattern
Search for exact patterns in legal documents using regular expressions. Useful for finding specific legal citations, dates, names, or phrases.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
pattern |
string | Yes | Regular expression pattern |
case_id |
string | No | Limit search to a specific case |
document_id |
string | No | Limit to a specific document |
Example:
{
"tool": "scan_for_pattern",
"params": {
"pattern": "\\d{1,3}\\s+Tex\\.\\s*\\d+",
"case_id": "case-001"
}
}
Returns: All regex matches with source location, surrounding context, and match highlights.
retrieve_exhibit
Find exhibit images by text description. Uses vector similarity to match descriptions against exhibit metadata.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
description |
string | Yes | Natural language description of the exhibit |
case_id |
string | No | Limit to a specific case |
limit |
number | No | Maximum results (default: 5) |
Returns: Matching exhibit images with source document, page number, and extracted metadata.
search_workflows
Search workflows and workflow templates by text query, case, category, tag, or status.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | No | Text search query |
case_id |
string | No | Filter by case |
category |
string | No | Filter by category |
tag |
string | No | Filter by tag |
status |
string | No | Filter by status |
Contradiction Tools
detect_contradictions
Find contradictory statements across documents in a case. Compares claims, facts, and testimony across filings to identify inconsistencies.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
case_id |
string | Yes | Case to analyze |
document_ids |
string[] | No | Specific documents to compare |
focus |
string | No | Topic to focus contradiction detection on |
Returns: List of detected contradictions, each with the two conflicting passages, source locations, and a confidence score.
track_claim_evolution
Track how claims and assertions change over time across filings. Shows how a party's position evolves.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
case_id |
string | Yes | Case to analyze |
claim |
string | Yes | The claim or topic to track |
Returns: Timeline of how the specified claim appears and changes across documents, with dates and source references.
Argument Tools
extract_argument_structure
Extract the logical argument structure from a document — premises, conclusions, supporting evidence, and logical flow.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
document_id |
string | Yes | Document to analyze |
section |
string | No | Specific section to focus on |
Returns: Structured representation of the argument with main claims, supporting points, evidence citations, and logical relationships.
compare_argument_structures
Compare the argument structures between two documents — useful for comparing opposing briefs.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
document_id_1 |
string | Yes | First document |
document_id_2 |
string | Yes | Second document |
Returns: Side-by-side comparison showing where arguments agree, conflict, or address different issues.
Timeline Tools
reconstruct_timeline
Reconstruct a chronological timeline of events from case documents. Extracts dates, events, and participants.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
case_id |
string | Yes | Case to analyze |
start_date |
string | No | Filter events after this date |
end_date |
string | No | Filter events before this date |
Returns: Chronological list of events with dates, descriptions, participants, and source document references.
extract_obligations
Extract obligations, deadlines, and commitments from documents. Identifies who owes what to whom by when.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
document_id |
string | Yes | Document to analyze |
party |
string | No | Filter obligations for a specific party |
Returns: List of obligations with the responsible party, deadline, description, and source location.
Entity Tools
extract_entities
Extract named entities (people, organizations, dates, locations, monetary amounts) from documents.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
document_id |
string | Yes | Document to analyze |
entity_types |
string[] | No | Filter by entity type |
Returns: Categorized list of entities with their type, frequency, and source locations.
analyze_citations
Analyze legal citations and references across documents. Identifies cited cases, statutes, rules, and secondary sources.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
document_id |
string | Yes | Document to analyze |
citation_type |
string | No | Filter by type: case, statute, rule, secondary |
Returns: Categorized list of citations with full citation text, frequency, and context of each usage.
Review Tools
detect_privilege
Detect potentially privileged content in documents — attorney-client communications, work product, and other protected material.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
document_id |
string | Yes | Document to review |
privilege_types |
string[] | No | Types: attorney_client, work_product, deliberative |
Returns: Flagged passages with privilege type, confidence score, and recommended action.
analyze_tone
Analyze the tone and language patterns in legal documents. Identifies persuasive techniques, emotional language, and rhetorical patterns.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
document_id |
string | Yes | Document to analyze |
section |
string | No | Specific section to focus on |
Returns: Tone analysis with overall assessment, identified patterns, examples, and suggestions for improvement.
Connecting AI Clients
Claude Desktop
Add to your Claude Desktop MCP configuration (claude_desktop_config.json):
{
"mcpServers": {
"sound-suite": {
"url": "http://localhost:3000/api/mcp/execute",
"transport": "http"
}
}
}
Cursor / Windsurf
Add to your editor's MCP settings:
{
"sound-suite": {
"url": "http://localhost:3000/api/mcp/execute"
}
}
Custom Integration
Call the MCP endpoint directly:
curl -X POST http://localhost:3000/api/mcp/execute \
-H "Content-Type: application/json" \
-d '{"tool": "query_case_knowledge", "params": {"query": "summary of key facts"}}'
The MCP endpoint URL is always displayed on the Admin > General page.