PracticePanther MCP Server for Mastra AI 18 tools — connect in under 2 minutes
Mastra AI is a TypeScript-native agent framework built for modern web stacks. Connect PracticePanther through Vinkius and Mastra agents discover all tools automatically. type-safe, streaming-ready, and deployable anywhere Node.js runs.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
import { Agent } from "@mastra/core/agent";
import { createMCPClient } from "@mastra/mcp";
import { openai } from "@ai-sdk/openai";
async function main() {
// Your Vinkius token. get it at cloud.vinkius.com
const mcpClient = await createMCPClient({
servers: {
"practicepanther": {
url: "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp",
},
},
});
const tools = await mcpClient.getTools();
const agent = new Agent({
name: "PracticePanther Agent",
instructions:
"You help users interact with PracticePanther " +
"using 18 tools.",
model: openai("gpt-4o"),
tools,
});
const result = await agent.generate(
"What can I do with PracticePanther?"
);
console.log(result.text);
}
main();
* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure
About PracticePanther MCP Server
Connect to PracticePanther legal practice management platform and manage your entire law practice from any AI agent. Access matters, contacts, documents, time entries, calendar events, bills, payments, tasks, and expenses—all through a unified REST API with OData support.
Mastra's agent abstraction provides a clean separation between LLM logic and PracticePanther tool infrastructure. Connect 18 tools through Vinkius and use Mastra's built-in workflow engine to chain tool calls with conditional logic, retries, and parallel execution. deployable to any Node.js host in one command.
What you can do
- Matters/Cases — List, search, create, and update legal matters with status, client, and practice area
- Contacts/Clients — Manage your client database including individuals, organizations, and opposing parties
- Time Tracking — Log billable and non-billable time entries against any matter
- Bills/Invoices — List and review bills with amounts, status, and line items
- Payments — Track payments received from clients
- Tasks — View and manage tasks associated with matters and contacts
- Calendar — View court dates, hearings, deadlines, and meetings
- Custom Fields — Access custom fields configured for matters and contacts
- Activities — Track calls, emails, meetings, and notes
- Expenses — Log and review expenses associated with matters
- OData Support — Use powerful OData filtering, ordering, and pagination for flexible queries
The PracticePanther MCP Server exposes 18 tools through the Vinkius. Connect it to Mastra AI in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.
How to Connect PracticePanther to Mastra AI via MCP
Follow these steps to integrate the PracticePanther MCP Server with Mastra AI.
Install dependencies
Run npm install @mastra/core @mastra/mcp @ai-sdk/openai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token
Run the agent
Save to agent.ts and run with npx tsx agent.ts
Explore tools
Mastra discovers 18 tools from PracticePanther via MCP
Why Use Mastra AI with the PracticePanther MCP Server
Mastra AI provides unique advantages when paired with PracticePanther through the Model Context Protocol.
Mastra's agent abstraction provides a clean separation between LLM logic and tool infrastructure. add PracticePanther without touching business code
Built-in workflow engine chains MCP tool calls with conditional logic, retries, and parallel execution for complex automation
TypeScript-native: full type inference for every PracticePanther tool response with IDE autocomplete and compile-time checks
One-command deployment to any Node.js host. Vercel, Railway, Fly.io, or your own infrastructure
PracticePanther + Mastra AI Use Cases
Practical scenarios where Mastra AI combined with the PracticePanther MCP Server delivers measurable value.
Automated workflows: build multi-step agents that query PracticePanther, process results, and trigger downstream actions in a typed pipeline
SaaS integrations: embed PracticePanther as a first-class tool in your product's AI features with Mastra's clean agent API
Background jobs: schedule Mastra agents to query PracticePanther on a cron and store results in your database automatically
Multi-agent systems: create specialist agents that collaborate using PracticePanther tools alongside other MCP servers
PracticePanther MCP Tools for Mastra AI (18)
These 18 tools become available when you connect PracticePanther to Mastra AI via MCP:
create_practicepanther_contact
USE WHEN: - User wants to add a new client - User needs to create a new contact record - User asks to "add a new contact" or "create a client" PARAMETERS: - first_name (REQUIRED): Contact's first name - last_name (REQUIRED): Contact's last name - email (OPTIONAL): Contact's email address - phone (OPTIONAL): Contact's phone number - type (OPTIONAL): Contact type — "Client", "Opposing Party", "Witness", "Referral Source", etc. EXAMPLES: - "Add a new contact John Smith" → call with first_name="John", last_name="Smith" - "Create client Jane Doe, jane@example.com, 555-0123" → call with first_name="Jane", last_name="Doe", email="jane@example.com", phone="555-0123", type="Client" Create a new contact/client in PracticePanther
create_practicepanther_matter
USE WHEN: - User wants to open a new legal matter - User needs to create a new case for a client - User asks to "create a new matter" or "open a case" PARAMETERS: - name (REQUIRED): Matter/case name - client_id (OPTIONAL): GUID of the contact/client this matter belongs to - status (OPTIONAL): Matter status (e.g. "Open", "Closed", "Pending") - description (OPTIONAL): Matter description - practice_area (OPTIONAL): Practice area for this matter EXAMPLES: - "Create a new matter called 'Smith Divorce'" → call with name="Smith Divorce" - "Open a new personal injury case for client John Smith" → call with name="Smith v. Johnson", client_id="client-guid" Create a new matter/case in PracticePanther
create_practicepanther_time_entry
USE WHEN: - User wants to log time spent on a matter - User needs to record billable hours - User asks to "add time entry" or "log hours" PARAMETERS: - matter_id (REQUIRED): GUID of the matter this time entry belongs to - description (REQUIRED): Description of the work performed - duration_minutes (REQUIRED): Duration in minutes - billable (OPTIONAL): Whether this is billable — true (default) or false - rate (OPTIONAL): Hourly rate for this entry EXAMPLES: - "Log 2 hours of legal research for matter 123" → call with matter_id="123", description="Legal research", duration_minutes=120 - "Add 30 minute phone call with client" → call with matter_id="123", description="Phone call with client", duration_minutes=30 Create a new time entry for billing
get_practicepanther_bill
Get detailed information for a specific bill/invoice
get_practicepanther_contact
Get detailed information for a specific contact/client
get_practicepanther_matter
Get detailed information for a specific matter/case
list_practicepanther_activities
List activities in PracticePanther
list_practicepanther_bills
List bills/invoices in PracticePanther
list_practicepanther_calendar_events
List calendar events in PracticePanther
list_practicepanther_contacts
USE WHEN: - User wants to see all their contacts and clients - User needs to find a contact by name or email - User is exploring their contact database - User asks "list my contacts" or "show all clients" PARAMETERS: - top (OPTIONAL): Number of results to return - skip (OPTIONAL): Number of results to skip for pagination - orderby (OPTIONAL): OData order expression (e.g. "LastName asc") - filter (OPTIONAL): OData filter expression (e.g. "Email ne null") EXAMPLES: - "List all my contacts" → call with no params - "Show my clients only" → call with filter="Type eq 'Client'" - "List contacts ordered by last name" → call with orderby="LastName asc" List all contacts/clients in PracticePanther
list_practicepanther_custom_fields
List custom fields defined in PracticePanther
list_practicepanther_expenses
List expenses in PracticePanther
list_practicepanther_matters
Supports OData filtering, ordering, and pagination for flexible queries. USE WHEN: - User wants to see all their legal matters/cases - User needs to find matters by status, client, or practice area - User is exploring their law firm's caseload - User asks "what matters do I have" or "list my open cases" PARAMETERS: - top (OPTIONAL): Number of results to return (e.g. "10", "50", "100") - skip (OPTIONAL): Number of results to skip for pagination - orderby (OPTIONAL): OData order expression (e.g. "CreatedDate desc", "Name asc") - filter (OPTIONAL): OData filter expression (e.g. "Status eq 'Open'") EXAMPLES: - "List all my matters" → call with no params - "Show my open cases" → call with filter="Status eq 'Open'" - "List matters ordered by creation date" → call with orderby="CreatedDate desc" List all matters/cases in PracticePanther
list_practicepanther_payments
List payments received in PracticePanther
list_practicepanther_tasks
List tasks in PracticePanther
list_practicepanther_time_entries
Supports filtering by matter, user, and date range. USE WHEN: - User wants to see all logged time entries - User needs to review billable hours for a matter - User is preparing invoices or reviewing time reports - User asks "show my time entries" or "list billable hours" PARAMETERS: - top (OPTIONAL): Number of results to return - skip (OPTIONAL): Number of results to skip for pagination - orderby (OPTIONAL): OData order expression (e.g. "Date desc") - filter (OPTIONAL): OData filter expression (e.g. "Matter/Name eq 'Smith Divorce'") EXAMPLES: - "List all time entries" → call with no params - "Show time entries for this matter" → call with filter="MatterId eq 'matter-guid'" - "List time entries from newest to oldest" → call with orderby="Date desc" List time entries logged in PracticePanther
search_practicepanther_matters
USE WHEN: - User wants to search for specific matters - User needs to find matters by name, client, or status - User asks to "find matters about X" or "search for open cases" PARAMETERS: - filter (REQUIRED): OData filter expression (e.g. "contains(Name, 'Smith')", "Status eq 'Open'") - top (OPTIONAL): Number of results to return - orderby (OPTIONAL): OData order expression EXAMPLES: - "Search for matters containing 'Smith'" → call with filter="contains(Name, 'Smith')" - "Find all open personal injury cases" → call with filter="Status eq 'Open' and PracticeArea eq 'Personal Injury'" Search matters/cases using OData filter
update_practicepanther_matter
Update an existing matter/case in PracticePanther
Example Prompts for PracticePanther in Mastra AI
Ready-to-use prompts you can give your Mastra AI agent to start working with PracticePanther immediately.
"List all my open matters in PracticePanther."
"Create a new time entry for 2 hours of legal research on the Smith Divorce matter."
"Show me all contacts for client John Smith."
Troubleshooting PracticePanther MCP Server with Mastra AI
Common issues when connecting PracticePanther to Mastra AI through the Vinkius, and how to resolve them.
createMCPClient not exported
npm install @mastra/mcpPracticePanther + Mastra AI FAQ
Common questions about integrating PracticePanther MCP Server with Mastra AI.
How does Mastra AI connect to MCP servers?
MCPClient with the server URL and pass it to your agent. Mastra discovers all tools and makes them available with full TypeScript types.Can Mastra agents use tools from multiple servers?
Does Mastra support workflow orchestration?
Connect PracticePanther with your favorite client
Step-by-step setup guides for every MCP-compatible client and framework:
Anthropic's native desktop app for Claude with built-in MCP support.
AI-first code editor with integrated LLM-powered coding assistance.
GitHub Copilot in VS Code with Agent mode and MCP support.
Purpose-built IDE for agentic AI coding workflows.
Autonomous AI coding agent that runs inside VS Code.
Anthropic's agentic CLI for terminal-first development.
Python SDK for building production-grade OpenAI agent workflows.
Google's framework for building production AI agents.
Type-safe agent development for Python with first-class MCP support.
TypeScript toolkit for building AI-powered web applications.
TypeScript-native agent framework for modern web stacks.
Python framework for orchestrating collaborative AI agent crews.
Leading Python framework for composable LLM applications.
Data-aware AI agent framework for structured and unstructured sources.
Microsoft's framework for multi-agent collaborative conversations.
Connect PracticePanther to Mastra AI
Get your token, paste the configuration, and start using 18 tools in under 2 minutes. No API key management needed.
