signal-messaging
Signal Protocol MCP server (Rust). 3 tools — encrypt, initialize_session, verify_safety_number. Bypass route when Beeper Desktop is down.
Best use case
signal-messaging is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Signal Protocol MCP server (Rust). 3 tools — encrypt, initialize_session, verify_safety_number. Bypass route when Beeper Desktop is down.
Teams using signal-messaging should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/signal-messaging/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How signal-messaging Compares
| Feature / Agent | signal-messaging | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Signal Protocol MCP server (Rust). 3 tools — encrypt, initialize_session, verify_safety_number. Bypass route when Beeper Desktop is down.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Signal Messaging via Rust MCP
<transclude src="signal-mcp/IMPLEMENTATION_STATUS.md" xpath="//h3[text()='Implementation Status']" />
## Live Tools (from server.rs)
<transclude src="signal-mcp/src/server.rs" pattern="#\[tool\(" format="table">
| Tool | Description |
|------|-------------|
| `signal_encrypt_message` | Encrypt via Double Ratchet + Sealed Sender |
| `signal_initialize_session` | X3DH key agreement for new sessions |
| `signal_verify_safety_number` | Compute/verify identity fingerprints |
</transclude>
## MCP Config
```json
{
"signal": {
"command": "cargo",
"args": ["run", "--release", "--example", "signal-server-stdio"],
"cwd": "/Users/alice/worlds/s/signal-mcp",
"env": { "RUST_LOG": "signal_mcp=info" }
}
}
```
## Transclusion Protocol
This skill is a **sparse pointer** with live transclusion targets. On every interaction where signal-messaging is loaded, the agent SHOULD:
1. Read `server.rs` tool definitions (3 `#[tool(` blocks) for current API surface
2. Read `IMPLEMENTATION_STATUS.md` for what's placeholder vs real
3. Inject as XML into the conversation context:
```xml
<loaded_skill name="signal-messaging">
<transcluded from="signal-mcp/src/server.rs" extracted="tool-signatures">
<!-- live content from grep '#\[tool(' server.rs -->
</transcluded>
<transcluded from="signal-mcp/IMPLEMENTATION_STATUS.md" extracted="status">
<!-- live implementation status -->
</transcluded>
<static>
<!-- the rest of this SKILL.md -->
</static>
</loaded_skill>
```
### Why Transclusion > Static
- `server.rs` adds a 4th tool → skill auto-updates
- Implementation status changes from placeholder → real → skill reflects it
- Zero maintenance; the code IS the documentation
- Anthropic API XML injection is already the delivery mechanism for `<loaded_skill>` tags
## Status (transcluded 2026-04-04)
- ✅ Compiles, 6 tests pass
- ⚠️ Tools are **placeholder implementations** awaiting `libsignal-protocol` integration
- ✅ Resource listing: sessions, identities (JSON)
- ✅ Tool router with macro-derived handlers
## Relationship to Beeper
```
beeper (unified) ──── Beeper Desktop bridge ──── Signal (via Matrix)
│
signal-messaging ──── Rust MCP server ────────────── Signal (native)
(bypass route) │
libsignal-protocol
```
Use `signal-messaging` when:
- Beeper Desktop is not running
- You need E2E encryption primitives directly
- You need safety number verification
- You want to avoid Matrix protocol overheadRelated Skills
signal-isolated-auth
Maximally isolated Signal authentication via colored operad security boundaries. VM→Container→Process enclosure with GF(3) conservation for Agent-O-Rama pathways.
implementing-end-to-end-encryption-for-messaging
End-to-end encryption (E2EE) ensures that only the communicating parties can read messages, with no intermediary (including the server) able to decrypt them. This skill implements a simplified version
zx-calculus
Coecke's ZX-calculus for quantum circuit reasoning via string diagrams with Z-spiders (green) and X-spiders (red)
zulip-cogen
Zulip Cogen Skill 🐸⚡
zls-integration
zls-integration skill
zig
zig skill
zig-syrup-bci
Multimodal BCI pipeline in Zig: DSI-24 EEG, fNIRS mBLL, eye tracking IVT, LSL sync, EDF read/write, GF(3) conservation
zig-programming
zig-programming skill
zeroth-bot
Zeroth Bot - 3D-printed open-source humanoid robot platform for sim-to-real and RL research. Affordable entry point for humanoid robotics.
xlsx
Comprehensive spreadsheet creation, editing, and analysis with support
wycheproof
Google's Wycheproof test vectors for cryptographic implementation testing.
Writing Hookify Rules
This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.