Skip to main content

filevine-mcp

PyPI version Python 3.10+ License: MIT

MCP server for Filevine — full API coverage for legal case management. Use Filevine from Claude Desktop with natural language.

What you can do

  • Projects (Matters) — create, update, archive, manage vitals, custom forms, collections
  • Contacts — full CRUD, addresses, emails, phones, project associations
  • Tasks — create, assign, complete, pin, snooze, manage by project or user
  • Notes — create, pin, comment, tag management
  • Documents — CRUD, revisions, lock/unlock, batch upload/download, search, share links
  • Folders — organise documents in folder hierarchies
  • Billing — billing items, invoices, payments, trust funds, rate schedules
  • Project Teams — assign and manage team members per project
  • Appointments & Deadlines — schedule and track on matters
  • Emails — log email communications to projects
  • Webhooks — subscribe to Filevine events for real-time notifications
  • Teams — manage organisation teams
  • Reference data — project types, document series, classifications, reports

Requirements

  • Python 3.10+
  • Python MCP SDK >=2.2,<3 (supports the MCP 2026-07-28 protocol)
  • Claude Desktop (or any MCP-compatible client)
  • Filevine API credentials (Client ID, Client Secret)
  • Filevine region: us, ca, or cjis

Filevine API access: Obtain credentials from your Filevine organisation administrator or developer portal.

Installation

pip install filevine-mcp

Setup

filevine-mcp-setup

This prompts for your Client ID, Client Secret, Org ID, and region, then tests the credentials and saves them through the configured credential store.

Verify:

filevine-mcp-verify

Claude Desktop Configuration

{
  "mcpServers": {
    "filevine": {
      "command": "filevine-mcp"
    }
  }
}

Credential storage

By default credentials are stored in your operating system's native secret store via the cross-platform keyring library:

OS Backend
macOS Keychain
Windows Credential Manager
Linux Secret Service (GNOME Keyring / KWallet)

Secrets saved to the keyring use the service name filevine-mcp.

File fallback. On a host with no keyring backend (e.g. a headless Linux box without Secret Service), or if you set FILEVINE_MCP_USE_KEYRING=0, credentials fall back to a ~/.filevine-mcp/.env file with 0600 permissions.

On Windows, the file is stored in the user's profile and protected by Windows' default per-user access rules. On POSIX, files are created with 0600 permissions and writes fail closed if private permissions cannot be established.

Read order. Credentials resolve in the order OS keyring → process environment → .env file. So a rotated secret in the keyring always wins, and a FILEVINE_CLIENT_ID / FILEVINE_CLIENT_SECRET exported in your shell overrides the file fallback without touching the keyring.

Authentication Notes

Filevine uses OAuth 2.0 client credentials flow — no browser authorization required. Tokens are fetched automatically and refreshed when they expire. Three regions are supported with separate API and identity hosts:

Region API Host Identity Host
us api.filevineapp.com identity.filevine.com
ca api.filevineapp.ca identity.filevine.ca
cjis api.filevinegov.com identity.filevinegov.com

Example usage in Claude

"List my open projects"

"Create a task on project 456 — send retainer agreement to client"

"Get the billing vitals for project 789"

"Add a note to project 123 — client called re: mediation date"

"Search documents for 'deposition transcript'"

"List all webhook event types available"

License

MIT

Approved destination URLs

Set FILEVINE_ALLOWED_DESTINATION_HOSTS in the server environment, for example FILEVINE_ALLOWED_DESTINATION_HOSTS=hooks.firm.example,.integrations.firm.example. Comma-separated exact hosts allow only that host; a leading dot allows the domain and its subdomains. Matching ignores case and trailing dots and normalizes IDNA. An empty or unset list refuses destination URLs before any request. HTTPS, no userinfo, and public literal addresses remain required. This administrator-owned list prevents model-supplied destinations from sending data to arbitrary hosts, including private-address DNS aliases and unapproved redirectors. Approve only hosts whose DNS and redirects the firm trusts; the vendor executes requests later. Tools cannot change this setting.

FILEVINE_REGION and setup accept only us, ca, or cjis. Values are trimmed and lowercased; unknown values fail with an error; they never select a different region. Webhook destinations in fields_json use an explicit set of destination aliases, validated by the same allowlist even inside nested objects and arrays. Unrelated fields such as securityLevel and jurisdiction pass unchanged.

Metadata

Release files for filevine-mcp 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for filevine-mcp 0.3.0
File Size Uploaded
filevine_mcp-0.3.0.tar.gz 135.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for filevine-mcp 0.3.0
File Interpreter ABI Platform
filevine_mcp-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 167.1 kB

Release files / filevine_mcp-0.3.0.tar.gz

Download URL filevine_mcp-0.3.0.tar.gz
Size 135.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1f1b755ba3fb6305f889b896987a39edf15d2b04ae6f7cde7f269765c7482d7a
BLAKE2b-256 checksum
How to use checksums
371da087f5d56ad0c7fab2a2bce13100d67ea2c4cd6f15e93667377ce86418d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.4 {"installer":{"name":"uv","version":"0.12.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / filevine_mcp-0.3.0-py3-none-any.whl

Download URL filevine_mcp-0.3.0-py3-none-any.whl
Size 31.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cac9e1a6f21cde5625442287d1e553472f5e26d07e7a6a86b985bead3504e985
BLAKE2b-256 checksum
How to use checksums
493843ddda14ee7a1a564fa3876a01b14d14e698e3a10ab9954ee32bda6a457b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.4 {"installer":{"name":"uv","version":"0.12.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page