🧠Server Information
| Field | Value |
|---|---|
| Name | None |
| Version | None |
| Protocol Version | 2025-06-18 |
| Capabilities | experimental, logging, prompts, resources, tools, completions |
| Instructions | None |
| Info | {'name': 'Efimis MCP', 'title': None, 'version': 'v1', 'websiteUrl': None, 'icons': None} |
🧰 Tools
Tool: generate_aging_analysis
This function queries data representing Aged Debts/Aged costs incurred by a client over the course of a matter. Contains a balance sheet WIP, Disbursements, we refer to debt that has not been paid by due date as aged debt.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
]
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"queryResult": {
"type": [
"string",
"null"
]
},
"sqlQuery": {
"type": [
"string",
"null"
]
},
"textOutput": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
}
}
}Tool: generate_matter_summaries
DO NOT USE THIS FOR FEE RELATED QUERIES, USE FEE ANALYSIS INSTEAD This function can be used to show the position of matters in respect to balances of client accounts, balances of invoices, CMA balance, balances of office accounts, balances of debtors, balances of unbilled disbursements, disbursements billable and balances of WIP. A summary of balances that are held on behalf of clients and balances the clients owe the firm. Can be used to obtain general information on matters, such as the number of matters, client and employee involvements.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
]
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"queryResult": {
"type": [
"string",
"null"
]
},
"sqlQuery": {
"type": [
"string",
"null"
]
},
"textOutput": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
}
}
}Tool: post_cost_recovery
Post Cost Recovery. Always populate disbursementCode. If no code supplied, call GetCostRecoveryCodes tool and return codes to user. If person name mentioned, try populate EmployeeReference type. Fill at least 1 field. Try your best to populate MatterReference type. Fill at least 1 field. If no duration or units provided, revert back to user. Populate amount if amount is mentioned.
Input Schema
{
"type": "object",
"properties": {
"costRecoveryCode": {
"type": "string"
},
"matterReference": {
"type": "object",
"properties": {
"matterId": {
"description": "[Not Required] MatterId if available",
"type": [
"string",
"null"
]
},
"matterNumber": {
"description": "[Not Required] User identifer for matter",
"type": [
"string",
"null"
]
},
"matterTitle": {
"description": "[Not Required] User title for matter",
"type": [
"string",
"null"
]
},
"clientName": {
"description": "[Not Required] Primary Client for matter",
"type": [
"string",
"null"
]
},
"actingPersonName": {
"description": "[Not Required] Acting Person for matter",
"type": [
"string",
"null"
]
},
"responsiblePersonName": {
"description": "[Not Required] Responsible Person for matter",
"type": [
"string",
"null"
]
}
}
},
"amount": {
"type": [
"number",
"null"
],
"default": null
}
},
"required": [
"costRecoveryCode",
"matterReference"
]
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
}
}
}Tool: email_draft_invoice
Email user draft invoice for specified matter. Try your best to populate MatterReference type. Fill at least 1 field. Try to determine MatterId from previous tool calls. If running this tool after a query to determine matter, provide the user information on that matter
Input Schema
{
"type": "object",
"properties": {
"matterReference": {
"type": "object",
"properties": {
"matterId": {
"description": "[Not Required] MatterId if available",
"type": [
"string",
"null"
]
},
"matterNumber": {
"description": "[Not Required] User identifer for matter",
"type": [
"string",
"null"
]
},
"matterTitle": {
"description": "[Not Required] User title for matter",
"type": [
"string",
"null"
]
},
"clientName": {
"description": "[Not Required] Primary Client for matter",
"type": [
"string",
"null"
]
},
"actingPersonName": {
"description": "[Not Required] Acting Person for matter",
"type": [
"string",
"null"
]
},
"responsiblePersonName": {
"description": "[Not Required] Responsible Person for matter",
"type": [
"string",
"null"
]
}
}
}
},
"required": [
"matterReference"
]
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
}
}
}Tool: email_pre_bill_report
Email user pre-bill report for specified matter. Try your best to populate MatterReference type. Try your best to populate MatterReference type. Fill at least 1 field. Try to determine MatterId from previous tool calls. Provide at least one property to MatterReference, but add more if possible. If running this tool after a query to determine matter, provide the user information on that matter
Input Schema
{
"type": "object",
"properties": {
"matterReference": {
"type": "object",
"properties": {
"matterId": {
"description": "[Not Required] MatterId if available",
"type": [
"string",
"null"
]
},
"matterNumber": {
"description": "[Not Required] User identifer for matter",
"type": [
"string",
"null"
]
},
"matterTitle": {
"description": "[Not Required] User title for matter",
"type": [
"string",
"null"
]
},
"clientName": {
"description": "[Not Required] Primary Client for matter",
"type": [
"string",
"null"
]
},
"actingPersonName": {
"description": "[Not Required] Acting Person for matter",
"type": [
"string",
"null"
]
},
"responsiblePersonName": {
"description": "[Not Required] Responsible Person for matter",
"type": [
"string",
"null"
]
}
}
}
},
"required": [
"matterReference"
]
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
}
}
}Tool: get_cost_recovery_codes
Get Cost Recovery Codes for PostCostRecovery. If user wants to post cost recovery but does not mention code, use this tool first.
Input Schema
{
"type": "object",
"properties": {}
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
}
}
}Tool: generate_fee_analysis
USE THIS FOR FEE RELATED MATTER QUERIES THIS IS NOT A PROFIT AND LOSS TOOL. This function is used for general fee data generated by law firm by Fee Earners, not including Fee Targets/Budgets (use GetPerformanceAnalysis for this). This table is generally queried over a given time period. Contains details on fee billing, collection, writing-off, work recorded. If user is referring to ‘Fee Earner’ specifically, this function should be used. To be used as a tool to summarise earnings of a law firm.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
]
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"queryResult": {
"type": [
"string",
"null"
]
},
"sqlQuery": {
"type": [
"string",
"null"
]
},
"textOutput": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
}
}
}Tool: email_statement_of_account_entity
Email statement of account for specified entity. Try your best to populate EntityReference type. Fill at least 1 field. Run on client, or billToEntity. Client produces bill where entity is client on bill. BillToEntity produces bill where entity is third party on bill. User must specify whether an entity is a client or billToEntity. If they don’t specify, clarify with user
Input Schema
{
"type": "object",
"properties": {
"entityReference": {
"type": "object",
"properties": {
"entityId": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"address": {
"type": [
"string",
"null"
]
},
"entityType": {
"type": [
"string",
"null"
],
"enum": [
"Individual",
"Organisation",
"Group",
"Unspecified",
null
]
}
}
},
"isClient": {
"type": "boolean"
}
},
"required": [
"entityReference",
"isClient"
]
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
}
}
}Tool: post_work_item
Post work item. Work Item represents time spent by employee on a matter. Work Item can be posted as draft, emphasise filling whatever fields you can, don’t clarify with user. If no employee is mentioned, do not attempt to populate EmployeeReference type. Populate MatterReference type if matter is referenced. Fill at least 1 field. If running this tool after a query to determine matter, provide the user information on that matter One of ‘DurationMinutes’ or ‘Units’ required
Input Schema
{
"type": "object",
"properties": {
"workItemReference": {
"type": "object",
"properties": {
"narration": {
"description": "[Optional] Title as it will appear by default on invoice",
"type": [
"string",
"null"
]
},
"taskTypeCode": {
"description": "[Optional] Internal Code Describing Work Item Task Type, ex. 'ATT' for attendance",
"type": [
"string",
"null"
]
},
"entryDate": {
"description": "[Optional] Defaults to today",
"type": "string",
"format": "date-time"
},
"durationMinutes": {
"description": "[Required* (If no Units Specifed)] Duration of this work item. Actual value billed is rounded up to the nearest Unit",
"type": [
"integer",
"null"
]
},
"units": {
"description": "[Required* (If no DurationMinutes Specifed)] Quantity of work. Each unit translates to a number of minutes depending on the firm's policy and agreement with the client",
"type": [
"number",
"null"
]
}
}
},
"matterReference": {
"type": "object",
"properties": {
"matterId": {
"description": "[Not Required] MatterId if available",
"type": [
"string",
"null"
]
},
"matterNumber": {
"description": "[Not Required] User identifer for matter",
"type": [
"string",
"null"
]
},
"matterTitle": {
"description": "[Not Required] User title for matter",
"type": [
"string",
"null"
]
},
"clientName": {
"description": "[Not Required] Primary Client for matter",
"type": [
"string",
"null"
]
},
"actingPersonName": {
"description": "[Not Required] Acting Person for matter",
"type": [
"string",
"null"
]
},
"responsiblePersonName": {
"description": "[Not Required] Responsible Person for matter",
"type": [
"string",
"null"
]
}
}
},
"employeeReference": {
"type": "object",
"properties": {
"employeeId": {
"type": [
"string",
"null"
]
},
"employeeName": {
"type": [
"string",
"null"
]
},
"address": {
"type": [
"string",
"null"
]
},
"teamName": {
"type": [
"string",
"null"
]
},
"divisionName": {
"type": [
"string",
"null"
]
}
},
"default": null
}
},
"required": [
"workItemReference",
"matterReference"
]
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
}
}
}Tool: email_statement_of_account_matter
Email statement of account for specified matter. Try your best to populate MatterReference type. Fill at least 1 field. Try to determine MatterId from previous tool calls. Matter produces bill for matter in entirety
Input Schema
{
"type": "object",
"properties": {
"matterReference": {
"type": "object",
"properties": {
"matterId": {
"description": "[Not Required] MatterId if available",
"type": [
"string",
"null"
]
},
"matterNumber": {
"description": "[Not Required] User identifer for matter",
"type": [
"string",
"null"
]
},
"matterTitle": {
"description": "[Not Required] User title for matter",
"type": [
"string",
"null"
]
},
"clientName": {
"description": "[Not Required] Primary Client for matter",
"type": [
"string",
"null"
]
},
"actingPersonName": {
"description": "[Not Required] Acting Person for matter",
"type": [
"string",
"null"
]
},
"responsiblePersonName": {
"description": "[Not Required] Responsible Person for matter",
"type": [
"string",
"null"
]
}
}
}
},
"required": [
"matterReference"
]
}Output Schema
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
}
}
}