smokeball-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| get_firmA | Get this firm's profile and settings. |
| update_firmA | Update firm profile fields. Only pass fields you want to change. |
| get_firm_user_mappingsA | List all user mappings for this firm. |
| get_firm_user_mappingB | Get a specific firm user mapping by ID. |
| update_firm_user_mappingC | Update a firm user mapping (link a staff member to a system user). |
| delete_firm_user_mappingC | Delete a firm user mapping by ID. |
| search_staffC | Search staff members. query: name or email fragment. |
| get_staff_memberB | Get a staff member by ID. |
| create_staff_memberC | Create a new staff member. |
| update_staff_memberC | Update a staff member's details. |
| delete_staff_memberC | Delete a staff member by ID. |
| get_userC | Get a user by ID. |
| create_userC | Create a new user (invite to the firm). |
| remove_userB | Remove a user from the firm. |
| resend_user_invitationB | Resend an invitation email to a user. |
| list_contactsC | List contacts with offset pagination. |
| get_contactC | Get a contact by ID. |
| create_contactB | Create a contact. contact_type: 'person' (default) or 'company'. For person: supply first_name / last_name. For company: supply company_name. |
| update_contactC | Update a contact's details. |
| delete_contactC | Delete a contact by ID. |
| get_contact_relationsC | Get all relationships for a contact. |
| get_contact_relationB | Get a specific relationship for a contact. |
| create_contact_relationC | Create a relationship between two contacts. |
| update_contact_relationC | Update a contact relationship type. |
| delete_contact_relationB | Delete a relationship from a contact. |
| get_contact_tagsB | Get tags on a contact. |
| add_contact_tagsC | Add tags to a contact. tags_csv: comma-separated tag strings. |
| remove_contact_tagsC | Remove a tag from a contact. tag_id: the ID of the tag to remove. |
| list_mattersC | List matters with offset pagination. |
| get_matterB | Get a matter by ID. |
| create_matterC | Create a matter. matter_type_id: from list_matter_types (required). client_ids_csv: comma-separated contact IDs to set as clients (required). number: optional matter reference number. |
| update_matterC | Update a matter's name, status, or description. |
| patch_matterA | Partially update a matter status or stage (PATCH). Use update_matter for name/description. |
| delete_matterC | Delete a matter by ID. |
| get_matter_billing_configurationB | Get billing configuration for a matter. |
| update_matter_billing_configurationC | Update billing configuration for a matter. billing_type: Hourly | Fixed | Contingency. |
| get_matter_tagsC | Get tags on a matter. |
| add_matter_tagsB | Add tags to a matter. tags_json: JSON array of tag objects, each with keys: id (str), name (str), color (str), type (str). Example: [{"id": "abc", "name": "Urgent", "color": "red", "type": "custom"}] |
| remove_matter_tagsB | Remove a tag from a matter. tag_id: the ID of the tag to remove. |
| list_leadsC | List leads (potential new clients/matters). |
| get_leadC | Get a lead by ID. |
| create_leadA | Create a lead (created as a matter with isLead=true via POST /matters). matter_type_id: from list_matter_types. client_id: existing contact ID to associate as client. |
| update_leadC | Update a lead's status or notes. |
| patch_leadA | Partially update a lead status or assignment (PATCH). Use update_lead for notes. |
| delete_leadC | Delete a lead by ID. |
| list_matter_typesB | List all matter types configured for this firm. |
| get_matter_typeB | Get a matter type by ID. |
| list_matter_type_categoriesB | List all matter type categories. |
| list_stage_setsB | List all stage sets (workflow stage groups). |
| get_stage_setB | Get a specific stage set by ID. |
| get_stage_in_setC | Get a specific stage within a stage set. |
| list_matter_stage_mappingsA | List all matter-to-stage mappings. |
| get_matter_stageB | Get the current stage of a matter. |
| get_roles_on_matterB | List all roles assigned to a matter. |
| get_role_on_matterB | Get a specific role on a matter. |
| add_role_to_matterC | Add a role to a matter. contact_id: associate a contact to this role. |
| update_role_on_matterC | Update a role on a matter. |
| remove_role_from_matterB | Remove a role from a matter. |
| get_relationships_on_matterC | Get all contact relationships on a matter. |
| get_relationship_on_roleC | Get the contact relationship for a specific role on a matter. |
| add_relationship_to_roleC | Add a contact relationship to a role on a matter. |
| update_relationshipC | Update a contact relationship on a matter role. |
| remove_relationship_from_roleC | Remove a contact relationship from a role on a matter. |
| list_tasksC | List tasks. Filter by matter_id to get matter-specific tasks. |
| get_taskC | Get a task by ID. |
| create_taskC | Create a task. due_date: ISO 8601 (YYYY-MM-DD). assigned_to_id: staff ID. |
| update_taskD | Update a task. completed_str: 'true' to mark done, 'false' to unmark. |
| delete_taskC | Delete a task by ID. |
| get_subtasksC | Get all subtasks for a task. |
| get_subtaskC | Get a specific subtask. |
| create_subtaskC | Create a subtask under a task. |
| update_subtaskC | Update a subtask. completed_str: 'true' to mark done, 'false' to unmark. |
| delete_subtaskC | Delete a subtask. |
| get_task_documentsC | Get documents attached to a task. |
| get_task_documentC | Get a specific document attached to a task. |
| create_task_documentC | Attach a file to a task. file_id: from files API. |
| delete_task_documentB | Remove a document attachment from a task. |
| list_eventsB | List calendar events. Filter by matter_id for matter-specific events. |
| get_eventB | Get a calendar event by ID. |
| create_eventB | Create a calendar event. start_date/end_date: ISO 8601 datetime. |
| update_eventC | Update a calendar event. |
| delete_eventC | Delete a calendar event by ID. |
| get_event_remindersB | Get all reminders for a calendar event. |
| create_event_reminderC | Create a reminder for an event. reminder_type: Notification | Email. |
| update_event_reminderB | Update an event reminder's lead time. |
| delete_event_reminderC | Delete an event reminder. |
| list_memos_on_matterC | List memos (notes) on a matter. |
| get_memoB | Get a memo by ID. |
| create_memoC | Create a memo (note) on a matter. |
| update_memoB | Update a memo's content or subject. |
| delete_memoC | Delete a memo by ID. |
| list_feesB | List fee entries (billable time). Filter by matter_id for matter-specific fees. |
| get_feeB | Get a fee entry by ID. |
| create_feeC | Create a fee (time entry). date: YYYY-MM-DD. duration_minutes: time spent. billable: 'true' (default) or 'false'. |
| update_feeC | Update a fee entry. billable: 'true' or 'false' to set; leave empty to skip. |
| patch_feeC | Toggle a fee entry's billable or billed state (PATCH). Use 'true' or 'false'. |
| delete_feeB | Delete a fee entry by ID. |
| list_expensesC | List expense entries. Filter by matter_id for matter-specific expenses. |
| get_expenseC | Get an expense entry by ID. |
| create_expenseC | Create an expense entry. date: YYYY-MM-DD. amount: dollar value. billable: 'true' (default) or 'false'. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| daily_briefing | Morning briefing: open matters needing attention, overdue tasks, and unbilled fees. |
| intake_triage | Triage a new or recently opened matter: check contacts, billing setup, and key documents. |
| billing_summary | Billing summary for a matter: fees, expenses, invoices, and outstanding balances. Note: webhook registrations in this server validate target URLs against SSRF (HTTPS-only; private/loopback/link-local/metadata IPs are blocked). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| matter_types_resource | All matter types configured in this Smokeball firm — read-only reference data. |
| activity_codes_resource | All billable activity codes configured in this Smokeball firm — read-only reference data. |
| security_notes_resource | Security posture documentation for this Smokeball MCP server. |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RosenAdvertising/smokeball-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server