filevine-mcp
v0.1.0
Published
Model Context Protocol server for Filevine. Lets AI tools (Claude, Codex, etc.) search projects, read sections, create notes, and more.
Maintainers
Readme
filevine-mcp
A Model Context Protocol server for Filevine. Lets AI tools like Claude Desktop, Claude Code, and Codex search projects, read sections, create notes, and more — directly against your Filevine instance.
Maintained by Trellys.
Quick start
1. Get Filevine credentials
You need three things:
- Partner app credentials — a
client_idandclient_secret. Contact Filevine support or your account rep to register a partner application. - Personal access token (PAT) — generate one in Filevine under Settings → Personal Access Tokens.
Your org_id and user_id are discovered automatically. If your PAT has access to multiple Filevine orgs, set FILEVINE_ORG_ID to pick one (otherwise the first is used and a warning is logged to stderr).
2. Install
npx filevine-mcpOr install globally:
npm install -g filevine-mcpOr build and run with Docker:
git clone https://github.com/matthewmathistrellys/filevine-mcp.git
cd filevine-mcp
docker build -t filevine-mcp .
docker run --rm -i \
-e FILEVINE_CLIENT_ID=... \
-e FILEVINE_CLIENT_SECRET=... \
-e FILEVINE_PAT=... \
filevine-mcp3. Configure Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"filevine": {
"command": "npx",
"args": ["-y", "filevine-mcp"],
"env": {
"FILEVINE_CLIENT_ID": "your-client-id",
"FILEVINE_CLIENT_SECRET": "your-client-secret",
"FILEVINE_PAT": "your-pat"
}
}
}
}Restart Claude Desktop. You should see Filevine tools available.
4. Configure Claude Code
claude mcp add filevine -e FILEVINE_CLIENT_ID=... -e FILEVINE_CLIENT_SECRET=... -e FILEVINE_PAT=... -- npx -y filevine-mcp5. Try it
Open Claude Desktop or Claude Code and ask something like:
"Show me my 5 most recently created projects in Filevine."
Claude will call the search_projects tool, return the list with phases and client names, and you can drill in from there.
A few more prompts to try:
- "Find the project for client Jane Doe."
- "What's the case summary section say for project 12345?"
- "List all expense items on project 12345."
- "Add a note to project 12345 that says 'Settlement check received, dated today.'"
- "Create a task on project 12345 — 'Follow up with carrier next week', priority High."
The AI picks the right tool for the question. You can string them together — "find the project for Jane Doe, then read the case summary" — and Claude will chain the calls.
Available tools
| Tool | What it does |
|---|---|
| search_projects | Search projects by name, number, or phase |
| search_contacts | Search contacts by name, email, or phone |
| get_project | Get full project metadata |
| get_section | Read all fields from a section (e.g., casesummary) |
| update_field | Update a single field in a section |
| update_project | Update project phase, name, or description |
| get_collection_items | Read items from a collection (e.g., expenses) |
| create_collection_item | Add an item to a collection |
| create_note | Create a note on a project |
| create_task | Create a task on a project |
| create_contact | Create a new contact |
Configuration
All configuration is via environment variables. See .env.example.
| Variable | Required | Description |
|---|---|---|
| FILEVINE_CLIENT_ID | Yes | Partner app client_id |
| FILEVINE_CLIENT_SECRET | Yes | Partner app client_secret |
| FILEVINE_PAT | Yes | Your personal access token |
| FILEVINE_ORG_ID | No | Pick a specific org when your PAT has access to several |
| FILEVINE_AUTH_URL | No | OAuth endpoint override (default Filevine prod) |
| FILEVINE_API_BASE_URL | No | API base URL override (default https://api.filevineapp.com/fv-app/v2) |
Development
git clone https://github.com/matthewmathistrellys/filevine-mcp.git
cd filevine-mcp
npm install
cp .env.example .env # fill in your credentials
npm run dev # run in stdio mode with hot reloadnpm run typecheck # type checking
npm run lint # lint
npm run test # tests
npm run build # compile to dist/Architecture
src/
├── core/ # Platform-agnostic: auth, HTTP, tool implementations
│ ├── auth.ts
│ ├── client.ts
│ ├── server.ts
│ └── tools/
└── stdio.ts # Entry point for Claude Desktop / Codex / Claude CodeThe core module has no transport or platform dependencies — it can be wrapped by stdio (shipped), plain Node HTTP, Cloudflare Workers, or any other runtime. Additional transports may land in future releases.
Contributing
PRs welcome. Please open an issue first for substantial changes.
License
MIT © Trellys
