PracticePanther MCP Server for CrewAI 18 tools — connect in under 2 minutes
Connect your CrewAI agents to PracticePanther through Vinkius, pass the Edge URL in the `mcps` parameter and every PracticePanther tool is auto-discovered at runtime. No credentials to manage, no infrastructure to maintain.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
from crewai import Agent, Task, Crew
agent = Agent(
role="PracticePanther Specialist",
goal="Help users interact with PracticePanther effectively",
backstory=(
"You are an expert at leveraging PracticePanther tools "
"for automation and data analysis."
),
# Your Vinkius token. get it at cloud.vinkius.com
mcps=["https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"],
)
task = Task(
description=(
"Explore all available tools in PracticePanther "
"and summarize their capabilities."
),
agent=agent,
expected_output=(
"A detailed summary of 18 available tools "
"and what they can do."
),
)
crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()
print(result)
* 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.
When paired with CrewAI, PracticePanther becomes a first-class tool in your multi-agent workflows. Each agent in the crew can call PracticePanther tools autonomously, one agent queries data, another analyzes results, a third compiles reports, all orchestrated through Vinkius with zero configuration overhead.
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 CrewAI 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 CrewAI via MCP
Follow these steps to integrate the PracticePanther MCP Server with CrewAI.
Install CrewAI
Run pip install crewai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token from cloud.vinkius.com
Customize the agent
Adjust the role, goal, and backstory to fit your use case
Run the crew
Run python crew.py. CrewAI auto-discovers 18 tools from PracticePanther
Why Use CrewAI with the PracticePanther MCP Server
CrewAI Multi-Agent Orchestration Framework provides unique advantages when paired with PracticePanther through the Model Context Protocol.
Multi-agent collaboration lets you decompose complex workflows into specialized roles, one agent researches, another analyzes, a third generates reports, each with access to MCP tools
CrewAI's native MCP integration requires zero adapter code: pass Vinkius Edge URL directly in the `mcps` parameter and agents auto-discover every available tool at runtime
Built-in task delegation and shared memory mean agents can pass context between steps without manual state management, enabling multi-hop reasoning across tool calls
Sequential and hierarchical crew patterns map naturally to real-world workflows: enumerate subdomains → analyze DNS history → check WHOIS records → compile findings into actionable reports
PracticePanther + CrewAI Use Cases
Practical scenarios where CrewAI combined with the PracticePanther MCP Server delivers measurable value.
Automated multi-step research: a reconnaissance agent queries PracticePanther for raw data, then a second analyst agent cross-references findings and flags anomalies. all without human handoff
Scheduled intelligence reports: set up a crew that periodically queries PracticePanther, analyzes trends over time, and generates executive briefings in markdown or PDF format
Multi-source enrichment pipelines: chain PracticePanther tools with other MCP servers in the same crew, letting agents correlate data across multiple providers in a single workflow
Compliance and audit automation: a compliance agent queries PracticePanther against predefined policy rules, generates deviation reports, and routes findings to the appropriate team
PracticePanther MCP Tools for CrewAI (18)
These 18 tools become available when you connect PracticePanther to CrewAI 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 CrewAI
Ready-to-use prompts you can give your CrewAI 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 CrewAI
Common issues when connecting PracticePanther to CrewAI through the Vinkius, and how to resolve them.
MCP tools not discovered
Agent not using tools
Timeout errors
Rate limiting or 429 errors
PracticePanther + CrewAI FAQ
Common questions about integrating PracticePanther MCP Server with CrewAI.
How does CrewAI discover and connect to MCP tools?
tools/list method. This means tools are always fresh and reflect the server's current capabilities. No tool schemas need to be hardcoded.Can different agents in the same crew use different MCP servers?
mcps list, so you can assign specific servers to specific roles. For example, a reconnaissance agent might use a domain intelligence server while an analysis agent uses a vulnerability database server.What happens when an MCP tool call fails during a crew run?
Can CrewAI agents call multiple MCP tools in parallel?
process=Process.parallel, each calling different MCP tools concurrently. This is ideal for workflows where separate data sources need to be queried simultaneously.Can I run CrewAI crews on a schedule (cron)?
crew.kickoff() method runs synchronously by default, making it straightforward to integrate into existing pipelines.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 CrewAI
Get your token, paste the configuration, and start using 18 tools in under 2 minutes. No API key management needed.
