smokeball-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 |
|---|---|
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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