LegalContext

LegalContext

Enables secure access to legal documents from Clio via Claude Desktop, with local processing and semantic search to ground AI responses in actual documents.

Category
访问服务器

README

MseeP.ai Security Assessment Badge

LegalContext

LegalContext is an open-source Model Context Protocol (MCP) server that creates a secure bridge between a law firm's Clio document management system and Claude Desktop AI assistant.

<p align="center"> <img src="https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-blue" alt="Platform support" /> <img src="https://img.shields.io/badge/runtime-Bun-black" alt="Bun runtime" /> <img src="https://img.shields.io/badge/license-MPL--2.0-blue" alt="License: MPL 2.0" /> </p>

Features

  • Secure Document Access: Connects to Clio API to access legal documents while maintaining complete security and confidentiality
  • Local Processing: All document processing happens locally within your firm's infrastructure, ensuring client data never leaves your security perimeter
  • MCP Integration: Seamlessly integrates with Claude Desktop through the Model Context Protocol (MCP)
  • Semantic Search: Uses LanceDB for efficient vector search, enabling Claude to find the most relevant documents based on meaning, not just keywords
  • Citation Tracking: All Claude responses include proper citations to your source documents
  • Free Tier Limitations: Includes reasonable limits for the free version (100 documents, 50 queries/day)

Why LegalContext?

For legal professionals, the intersection of AI capabilities and client confidentiality creates a significant challenge:

  1. The AI Hallucination Problem: Large language models like Claude can provide incorrect or fabricated information. This is particularly dangerous in legal contexts where accuracy is paramount.

  2. The Client Confidentiality Dilemma: Traditional AI tools require uploading documents to external servers, potentially compromising client confidentiality and attorney-client privilege.

LegalContext solves both problems by:

  1. Grounding Claude's responses in your actual documents - eliminating hallucinations by using Retrieval-Augmented Generation (RAG)
  2. Processing all documents locally - maintaining complete data control and meeting confidentiality requirements
  3. Creating a secure bridge to Claude Desktop - leveraging AI capabilities without exposing sensitive information

Table of Contents

Prerequisites

  • Bun: Version 1.0 or later (JavaScript runtime and package manager)
  • Clio: A Clio account with API access and registered application credentials
  • Claude Desktop: Anthropic's Claude Desktop application
  • Operating System: macOS, Linux, or Windows with WSL

Quick Start

# Clone the repository
git clone https://github.com/protomated/legal-context.git
cd legal-context

# Install dependencies
bun install

# Run the setup script (automated configuration)
./install.sh

# The script will set up everything including an initial document indexing
# Start Claude Desktop and verify that LegalContext appears as an MCP server
# In Claude Desktop, ask a legal question that requires document access
# Example: "What are the key provisions in our standard NDA?"

Detailed Installation

Automated Setup

Our automated setup script handles the complete configuration process for you:

# Run the setup script
./install.sh

The script will:

  1. Check for Bun installation or install it if needed
  2. Configure necessary environment variables in .env
  3. Create Claude Desktop configuration file automatically with the correct paths and environment variables
  4. Guide you through Clio OAuth setup
  5. Run an initial batch indexing of your documents (up to 100 for free tier)

This is the recommended approach as it ensures all components are correctly configured.

Manual Setup

If you prefer to set up manually:

  1. Install Bun

    curl -fsSL https://bun.sh/install | bash
    
  2. Clone the repository

    git clone https://github.com/protomated/legal-context.git
    cd legal-context
    
  3. Install dependencies

    bun install
    
  4. Configure environment variables

    cp .env.example .env
    

    Edit .env with your Clio credentials and other settings

  5. Configure Claude Desktop Create or edit the Claude Desktop configuration file (see Claude Desktop Integration)

  6. Start the server

    bun run src/server.ts
    

Claude Desktop Integration

LegalContext communicates with Claude Desktop using the Model Context Protocol (MCP). To configure Claude Desktop to use LegalContext:

Automated Configuration (Recommended)

The install.sh script will automatically create or update the Claude Desktop configuration file. After running the script, simply restart Claude Desktop to apply the changes.

Manual Configuration

Create or edit the Claude Desktop configuration file at:

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

Linux

~/.config/Claude/claude_desktop_config.json

Add the following configuration (adjust paths and environment variables for your system):

{
  "mcpServers": {
    "legalcontext": {
      "command": "/path/to/bun",
      "args": [
        "/path/to/legal-context/src/server.ts"
      ],
      "cwd": "/path/to/legal-context",
      "env": {
        "CLIO_CLIENT_ID": "your_clio_client_id",
        "CLIO_CLIENT_SECRET": "your_clio_client_secret",
        "CLIO_REDIRECT_URI": "http://127.0.0.1:3001/clio/auth/callback",
        "CLIO_API_REGION": "us"
      }
    }
  }
}

Important Notes:

  1. Replace the command path with the full path to your Bun executable (find using which bun)
  2. Replace the args path with the full absolute path to your server.ts file
  3. Add your actual Clio API credentials in the env section
  4. The environment variables in this config will override your .env file

Verifying the Integration

  1. Start Claude Desktop
  2. Go to Settings > Developer
  3. You should see "legalcontext" listed as an MCP server with status "Running"
  4. If it shows "Not running" or doesn't appear:
    • Ensure the paths in your configuration are absolute and correct for your system
    • Verify that the Bun executable path is correct (use which bun to find it)
    • Check that you have the correct environment variables set
    • Restart Claude Desktop after making configuration changes
    • Check the logs at:
      • macOS: ~/Library/Logs/Claude/legalcontext.log
      • Windows: %USERPROFILE%\AppData\Local\Claude\Logs\legalcontext.log

Testing the Integration

Once the integration is set up, you can test it with a simple query in Claude Desktop:

  1. Open Claude Desktop
  2. Type: "Can you check if LegalContext is working?"
  3. Claude should respond that it can access the LegalContext tools
  4. Try a document query like: "What documents do we have in our Clio account?"

Clio Setup

Creating a Clio API Application

  1. Visit Clio Developers Portal
    • Use the appropriate regional URL if not using the US version of Clio
  2. Click "New Application"
  3. Enter application details:
    • Name: "LegalContext"
    • Redirect URI: http://127.0.0.1:3001/clio/auth/callback
    • Scopes: Enable documents and folders scopes
  4. Save the application and note your Client ID and Client Secret
  5. Add these credentials to your .env file or directly to your Claude Desktop configuration

Usage Guide

Authentication

  1. Start Claude Desktop (which will automatically launch LegalContext)
  2. Open a browser and navigate to:
    http://localhost:3001/clio/auth
    
  3. Follow the Clio OAuth flow to authorize LegalContext
  4. You'll be redirected to a success page once authentication completes

Indexing Documents

The installation script automatically runs an initial batch indexing process for your documents (up to the free tier limit of 100).

For additional documents or to refresh the index, you can:

Ask Claude to index specific documents:

Claude, please index the document with ID 12345 from our Clio account.

Or use the batch indexing tool directly:

bun run index:batch

Using with Claude Desktop

Once your documents are indexed, you can ask Claude questions about them:

  • Document search: "Find all employment contracts drafted in the last year"
  • Document analysis: "What are the key provisions in our standard NDA?"
  • Legal research: "Summarize our precedents for data privacy cases"
  • Contract comparison: "How does the Johnson contract compare to our standard terms?"

Claude will use the LegalContext tools to search your document repository, retrieve the most relevant documents, ground its answers in your actual documents, and provide citations to the source documents.

Security Features

LegalContext prioritizes security and confidentiality:

  • Local Processing: All document content is processed within your infrastructure
  • Secure OAuth: Uses industry-standard OAuth 2.0 for Clio authentication
  • Encrypted Token Storage: Access tokens are securely stored with encryption
  • No Cloud Dependencies: Documents are never sent to external AI services
  • Full Transparency: Open-source codebase allows complete security audit
  • Centralized Data Storage: All data is stored in the ~/.legalcontext directory in your home folder

Free Tier Limitations

The free version of LegalContext includes reasonable limitations:

  • Document Limit: Maximum of 100 indexed documents
  • Query Limit: 50 queries per day
  • Single Instance: Designed for individual use rather than firm-wide deployment

These limitations ensure the project remains sustainable while providing value to individual legal practitioners.

Troubleshooting

Common Issues

  1. "Clio API client not initialized"

    • Ensure you've completed the Clio authentication process
    • Check your Clio API credentials in .env or Claude Desktop config
    • Verify the redirect URI matches your Clio application settings
    • Try running bun run auth:simple to test authentication
  2. "No documents found in vector search"

    • Make sure you've indexed documents with bun run index:batch
    • Check that your documents are in a compatible format (PDF, DOCX)
    • Verify that the documents exist in your Clio account
    • Look at the ~/.legalcontext/indexed_documents.json file to see which documents are indexed
  3. LegalContext not appearing in Claude Desktop

    • Ensure the Claude Desktop configuration file has the correct format and location
    • Use absolute paths for both the Bun executable and the server.ts file
    • Verify all required environment variables are set in the config
    • Check that LegalContext server is running (bun start in a terminal)
    • Restart Claude Desktop after configuration changes
    • Look at the logs in ~/Library/Logs/Claude/legalcontext.log (macOS)

Data Storage

LegalContext stores all its data in the ~/.legalcontext directory in your home folder. This includes:

  • LanceDB database: ~/.legalcontext/lancedb - Contains the vector embeddings for document search
  • Clio tokens: ~/.legalcontext/clio_tokens - Stores your Clio API authentication tokens
  • Indexed documents: ~/.legalcontext/indexed_documents.json - Tracks which documents have been indexed
  • Query counter: ~/.legalcontext/query_counter.json - Tracks daily query usage for free tier limitations

If you need to reset the application, you can delete this directory, but you'll need to re-authenticate with Clio and re-index your documents.

Diagnostic Tools

LegalContext includes several diagnostic tools:

# Test Clio authentication
bun run auth:simple

# Check Clio API access
bun run check:clio

# Test document processing
bun run test:extraction

# Reset indexing state
bun run src/tools/reset-index-tracking.ts

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

License

This project is licensed under the Mozilla Public License 2.0 - see the LICENSE file for details.


Support

For assistance, please:

  • Open an issue on GitHub
  • Email the team at team@protomated.com
  • Visit our website at protomated.com

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选