Open-source MCP server connecting Claude to Filevine practice management. Built by Oktopeak.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Filevine MCP.
authenticateExchange PAT for access token and cache org/user IDs
auth-statusCheck authentication status and token expiry
logoutClear stored tokens
list-casesList cases (active, closed, pending); search by name/number
get-caseGet full case details by ID
search-contactsSearch contacts by name, email, or phone across all cases
Built by Oktopeak β AI transformation & automation for law firms
Digital transformation for legal and healthcare businesses. We build AI integrations, workflow automation, and custom software your firm owns outright β including this connector. β Book a 30-min call
An open-source MCP (Model Context Protocol) server connecting Claude to Filevine practice management platform. Access cases, contacts, documents, notes, tasks, and custom PI data from Claude with automatic rate limiting and audit logging.
Supported Endpoints: 15 tools covering the Filevine v2 REST API.
[!TIP] Not a developer? You don't need to be.
The README below assumes someone comfortable editing a JSON config file. If that's not you or your team, we deploy this for law firms: scoped credentials, audit log wired in, one custom workflow, training.
Jump to: Setup Β· Available tools Β· Compliance & security Β· Need it deployed for you? Β· Other connectors
Personal Access Token (PAT)
Client Credentials
Organization & User IDs (auto-discovered on first auth call)
/v2/users/me on first runCopy .env.example to .env:
The server listens on stdio and outputs connection status to stderr.
Before using any Filevine tools, call the authenticate tool:
Tokens auto-refresh before expiry (3600s TTL). Call logout to clear stored tokens.
| Tool | Purpose |
|---|---|
authenticate | Exchange PAT for access token and cache org/user IDs |
auth-status | Check authentication status and token expiry |
logout | Clear stored tokens |
| Tool | Purpose |
|---|---|
list-cases | List cases (active, closed, pending); search by name/number |
get-case | Get full case details by ID |
| Tool | Purpose |
|---|---|
search-contacts | Search contacts by name, email, or phone across all cases |
get-contact | Get contact details by ID |
list-case-contacts | List all contacts on a specific case |
| Tool | Purpose |
|---|---|
list-notes | List case notes; supports general, phone_call, and internal types |
create-note | Create a note (e.g., AI summary, findings, follow-ups) |
| Tool | Purpose |
|---|---|
list-documents | List case documents with metadata (name, type, size, URL, dates) |
Note: Returns document metadata only β no binary content. Use returned URLs to fetch document content if needed.
| Tool | Purpose |
|---|---|
list-tasks | List case tasks by status (open, completed, overdue) |
create-task | Create a new task with title, description, assignee, due date |
Known Issue: The targetDate field may be ignored by the Filevine API as of Aug 2025. Workaround: set tasks via UI.
| Tool | Purpose |
|---|---|
discover-schema | Map your firm's custom sections (medical records, liens, settlements, etc.) |
get-collection | Fetch custom collection data using discovered selectors |
Why collections matter: Unlike standardized case fields, each firm builds custom "Collection sections" for PI workflows. The discover-schema tool finds your firm's structure.
Example workflow:
discover-schema β see available sections (e.g., "MedicalRecords", "Liens")get-collection to fetch PI-specific dataFilevine Rate Limits:
| Endpoint | Limit |
|---|---|
| Standard | 320 req/endpoint/min |
| Billing | 250 req/endpoint/min |
| Reports/Vitals | 5 req/endpoint/min |
| VineSign | 10 req/user/month |
Implementation:
Token Exchange (on first authenticate call)
Org/User Discovery
Every API Request (3 required headers)
https://api.filevine.iohttps://api.filevine.caSet via FILEVINE_REGION environment variable.
The biggest difference from other legal APIs: every request needs 3 headers, not just Authorization. Filevine uses x-fv-orgid and x-fv-userid to scope queries to the correct organization and user context.
Tokens are encrypted with AES-256-GCM and stored locally:
~/.oktopeak-filevine/tokens.encENCRYPTION_KEY from .env (64-char hex)Every tool call is logged to ~/.oktopeak-filevine/audit.log:
| Error | Cause | Fix |
|---|---|---|
ENCRYPTION_KEY is not set | Missing env var | Generate key: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" |
PAT exchange failed (401) | Invalid credentials | Verify Client ID, Secret, PAT from Filevine Settings |
Failed to discover user info | Token doesn't have required scopes | Regenerate PAT and Client Credentials in Filevine |
429 Too Many Requests | Rate limit hit | Server auto-backs off; normal behavior under load |
Unknown collection selector | Selector not found | Run discover-schema to find available selectors |
npm run build β build/ directory@modelcontextprotocol/sdk β MCP protocoldotenv β Environment loadingzod β Schema validation for tool parameterscrypto, fs, http β Node builtinsOpens MCP inspector at http://localhost:3000 β test tools, check parameters, verify responses.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/filevine-mcp-2)<a href="https://allmcps.com/mcp/filevine-mcp-2"><img src="https://allmcps.com/api/badge/filevine-mcp-2?style=directory" alt="Filevine MCP on AllMCPs" /></a>