remove_contact
Remove a contact from the local signal-cli contact list. This only deletes the local record; it does not block the contact or affect message history.
Instructions
Remove a contact from the local signal-cli contact list on this device. This only removes the local record — it does NOT block the contact, delete message history, or affect the contact's ability to message you. To prevent incoming messages, use block_contact instead. Use update_contact to set a local display name without removing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | Phone number to remove (E.164 format) |
Implementation Reference
- src/signal_mcp/server.py:354-370 (schema)Schema definition for the remove_contact tool, which requires a 'number' parameter in E.164 format and describes it as a local-only removal.
Tool( name="remove_contact", description=( "Remove a contact from the local signal-cli contact list on this device. " "This only removes the local record — it does NOT block the contact, delete message history, " "or affect the contact's ability to message you. " "To prevent incoming messages, use block_contact instead. " "Use update_contact to set a local display name without removing." ), inputSchema={ "type": "object", "properties": { "number": {"type": "string", "description": "Phone number to remove (E.164 format)"}, }, "required": ["number"], }, ), - src/signal_mcp/server.py:1128-1128 (registration)Registration of remove_contact's required parameter 'number' in the _REQUIRED validation dict.
"remove_contact": ["number"], - src/signal_mcp/server.py:1335-1337 (handler)Handler for remove_contact in the call_tool dispatcher — calls client.remove_contact() and returns a success response.
elif name == "remove_contact": await client.remove_contact(arguments["number"]) return _ok({"status": "removed", "number": arguments["number"]}) - src/signal_mcp/client.py:720-721 (helper)Client helper that executes the actual JSON-RPC call to signal-cli with method 'removeContact' and the recipient number parameter.
async def remove_contact(self, number: str) -> None: await self._rpc("removeContact", {"recipient": number})