mycase-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| who_am_iA | Get the currently authenticated staff member's profile. |
| get_firmA | Get this firm's profile and settings. |
| list_staffC | List all staff members in this firm. |
| get_staff_memberC | Get a staff member by ID. |
| list_casesC | List cases. status: open | closed. |
| get_caseB | Get a case by ID. |
| create_caseC | Create a case. case_stage: must match an existing stage name. status: open | closed. |
| update_caseC | Update a case's name, status, description, or stage. |
| delete_caseC | Delete a case by ID. |
| list_cases_for_clientB | List all cases associated with a client. |
| add_client_to_caseC | Add a client to a case with an optional role. |
| add_company_to_caseB | Add a company to a case with an optional role. |
| add_staff_to_caseC | Associate a staff member with a case. |
| list_clientsB | List clients. Filter by email, first_name, last_name, cell_phone_number, or updated_after (ISO 8601). |
| get_clientB | Get a client by ID. |
| create_clientC | Create a new client. |
| update_clientD | Update a client's details. |
| delete_clientC | Delete a client by ID. |
| list_client_notesC | List all notes for a client. |
| list_client_message_threadsB | List all message threads for a client. |
| list_companiesC | List companies. Filter by name, email, or updated_after (ISO 8601). |
| get_companyC | Get a company by ID. |
| create_companyC | Create a new company. |
| update_companyC | Update a company's details. |
| delete_companyB | Delete a company by ID. |
| add_client_to_companyC | Associate a client with a company. |
| list_tasksC | List tasks. updated_after: ISO 8601 datetime to filter recently changed tasks. |
| create_taskC | Create a task. priority: Low | Medium | High. due_date: YYYY-MM-DD. staff_id is required. |
| update_taskC | Update a task. completed: 'true' or 'false' to set completion status. priority: Low | Medium | High. |
| delete_taskC | Delete a task by ID. |
| assign_task_to_staffC | Assign a task to a staff member. |
| list_eventsC | List calendar events. start_date/end_date: YYYY-MM-DD. |
| create_eventB | Create a calendar event. start/end: ISO 8601. staff_id is required. location_id: ID of a Location record. |
| update_eventC | Update a calendar event. |
| delete_eventB | Delete a calendar event by ID. |
| add_staff_to_eventB | Add a staff member to a calendar event. |
| list_time_entriesC | List time entries. updated_after: ISO 8601 datetime to filter by last update. |
| get_time_entryB | Get a specific time entry by ID. |
| create_time_entryB | Create a time entry. entry_date: YYYY-MM-DD. rate: dollars/hr. hours: decimal hours worked. |
| delete_time_entryC | Delete a time entry by ID. |
| list_invoicesC | List invoices. status: draft | sent | paid | overdue. |
| record_invoice_paymentC | Record a payment against an invoice. date: YYYY-MM-DD (required). |
| list_invoice_paymentsA | List invoice payments. status: pending|success|failure|error|timeout. payable_id: filter by invoice ID. |
| get_noteB | Get a note by ID. |
| update_noteB | Update a note's body text, subject, or date. date: ISO 8601. |
| delete_noteC | Delete a note by ID. |
| list_case_notesC | List all notes for a case. |
| create_case_noteC | Create a note on a case. All three fields (note body, subject, date ISO 8601) are required. |
| create_client_noteC | Create a note on a client. All three fields (note body, subject, date ISO 8601) are required. |
| create_company_noteC | Create a note on a company. All three fields (note body, subject, date ISO 8601) are required. |
| list_documentsC | List documents, optionally filtered by case. |
| get_documentB | Get document metadata by ID. |
| update_documentC | Update a document's filename or description. |
| delete_documentC | Delete a document by ID. |
| list_case_documentsC | List all documents for a case. |
| list_document_versionsC | List all versions of a document. |
| get_case_folderB | Get the root document folder for a case. |
| upload_documentC | Upload a new document. path is the file storage path/URL. |
| upload_case_documentC | Upload a document directly to a case. |
| list_all_document_versionsA | List all document versions across the firm. |
| upload_document_versionC | Initiate a new version upload for an existing document. Returns upload instructions. |
| get_document_dataC | Get the download URL or data for a document's latest version. |
| get_document_version_dataC | Get the download URL or data for a specific document version. |
| delete_document_versionC | Delete a specific version of a document. |
| list_leadsC | List leads. status: new | contacted | qualified | converted | closed. |
| get_leadB | Get a lead by ID. |
| create_leadC | Create a new lead. |
| update_leadC | Update a lead. status: new | contacted | qualified | converted | closed. |
| create_message_threadC | Create a message thread. client_ids/staff_ids: comma-separated IDs. |
| create_case_message_threadC | Create a message thread on a case. client_ids/staff_ids: comma-separated IDs. |
| post_messageC | Post a message to an existing message thread. |
| list_case_stagesA | List all case stages configured in this firm. |
| create_case_stageC | Create a new case stage. |
| update_case_stageC | Rename a case stage. |
| delete_case_stageB | Delete a case stage by ID. |
| list_case_rolesA | List all case roles (e.g. plaintiff, defendant, attorney). |
| list_referral_sourcesA | List all referral sources configured in this firm. |
| create_referral_sourceC | Create a new referral source. |
| list_locationsA | List all locations (courthouses, offices, etc.) in this firm. |
| create_locationC | Create a new location. |
| update_locationC | Update a location's name. |
| delete_locationB | Delete a location by ID. |
| list_people_groupsA | List all people groups (contact categories) in this firm. |
| create_people_groupC | Create a new people group. |
| update_people_groupB | Rename a people group. |
| delete_people_groupC | Delete a people group by ID. |
| list_practice_areasA | List all practice areas defined in this firm. |
| create_practice_areaC | Create a new practice area. |
| update_practice_areaB | Rename a practice area. |
| delete_practice_areaC | Delete a practice area by ID. |
| list_custom_fieldsA | List all custom fields configured in this firm. |
| create_custom_fieldA | Create a custom field. parent_type: Case|Client|Lead. field_type: text|date|list|checkbox|number. list_options: comma-separated option values for list type fields (e.g. 'Option A,Option B,Option C'). |
| get_custom_fieldC | Get a custom field by ID. |
| delete_custom_fieldB | Delete a custom field by ID. |
| list_custom_field_optionsC | List all options for a list-type custom field. |
| create_custom_field_optionC | Add an option to a list-type custom field. |
| update_custom_field_optionC | Update an existing option on a list-type custom field. |
| delete_custom_field_optionC | Delete an option from a list-type custom field. |
| list_expensesB | List expense entries. updated_after: ISO 8601 datetime to filter by last update. |
| get_expenseB | Get a specific expense entry by ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| case_status_briefing | Morning briefing: open cases, overdue tasks, and pending invoices. |
| intake_new_client | Intake workflow for a new client: create client record, case, and first task. |
| billing_cycle_review | Review unbilled time and outstanding invoices for billing cycle close. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| practice_areas_resource | All practice areas configured in this MyCase firm — read-only reference data. |
| case_stages_resource | All case stages configured in this MyCase firm — read-only reference data. |
| security_notes_resource | Security posture for mycase-mcp. ## Credentials - **MYCASE_API_TOKEN**: MyCase API bearer token. - Resolution order: process env → `~/.mycase-mcp/.env` (chmod 0600 fallback). Set via `mycase-mcp-setup`. ## Tool classification - **Read-only (safe):** who_am_i, get_firm, list_staff, get_staff_member, list_cases, get_case, list_cases_for_client, list_clients, get_client, list_client_notes, list_client_message_threads, list_companies, get_company, list_tasks, list_events, list_time_entries, get_time_entry, list_invoices, list_invoice_payments, get_note, list_case_notes, list_documents, get_document, list_case_documents, list_document_versions, get_case_folder, list_all_document_versions, get_document_data, get_document_version_data, list_leads, get_lead, list_case_stages, list_case_roles, list_referral_sources, list_locations, list_people_groups, list_practice_areas, list_custom_fields, get_custom_field, list_custom_field_options, list_expenses, get_expense, list_calls, list_folder_documents, list_folder_subfolders, list_webhook_subscriptions. - **Write / side-effect:** create_case, update_case, delete_case, add_client_to_case, add_company_to_case, add_staff_to_case, create_client, update_client, delete_client, create_company, update_company, delete_company, add_client_to_company, create_task, update_task, delete_task, assign_task_to_staff, create_event, update_event, delete_event, add_staff_to_event, create_time_entry, delete_time_entry, record_invoice_payment, update_note, delete_note, create_case_note, create_client_note, create_company_note, upload_document, upload_case_document, update_document, delete_document, upload_document_version, delete_document_version, create_lead, update_lead, create_message_thread, create_case_message_thread, post_message, create_case_stage, update_case_stage, delete_case_stage, create_referral_source, create_location, update_location, delete_location, create_people_group, update_people_group, delete_people_group, create_practice_area, update_practice_area, delete_practice_area, create_custom_field, delete_custom_field, create_custom_field_option, update_custom_field_option, delete_custom_field_option, create_expense, delete_expense, create_call, update_call, delete_call, create_case_subfolder, create_webhook_subscription, delete_webhook_subscription. ## Data sensitivity Cases, notes, documents, and messages contain attorney-client privileged material. Apply legal-privilege standards to all data access and handling. |
TDQS
Scored across 112 tools
Most tools have clearly distinct purposes with detailed descriptions. There is minor potential confusion between generic and entity-specific tools (e.g., create_message_thread vs create_case_message_thread), but overall boundaries are clear.
The naming convention is predominantly verb_noun (e.g., create_case, list_clients). A few tools like 'who_am_i' and 'add_client_to_case' break the pattern but are still recognizable.
With 112 tools, the count is extremely high for an MCP server. While the domain is broad, it exceeds typical scopes (3-15) and can overwhelm an agent's selection process.
The tool set covers nearly all CRUD operations, relationships, and specialized actions (e.g., document versions, invoice payments, webhooks). No obvious gaps exist for a practice management system.