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
jepsen-testing
Jepsen-style correctness testing for distributed systems under faults (partitions, crashes, clock skew) using concurrent operation histories and formal checkers (linearizability/serializability and Elle-style anomalies). Use when designing, implementing, or running Jepsen tests, or interpreting histories/violations.
Deterministic Color Generation via Metadata Hashing
**Status**: ✅ Production Ready
cyton-dongle
Connect and stream from OpenBCI Cyton/Daisy via USB dongle, including first-time radio channel pairing
asi-transient-agenda
Org-agenda-like transient views for ASI skill orchestration via nbb/squint + Emacs hydra
Topological Superintelligence (TSI)
Compositional AI framework using GF(3) triadic balance and category-theoretic foundations.
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