10-30ms response times for AI agent tool calls.
FGP is an open protocol for building low-latency daemon services that AI agents can call efficiently. Unlike stdio-based protocols that spawn a new process per invocation, FGP uses persistent UNIX sockets with NDJSON framing.
| Aspect | MCP (stdio) | FGP (socket) |
|---|---|---|
| Latency | 200-500ms | 10-30ms |
| State | Stateless | Stateful |
| Auth | Per-call | Shared store |
| Batching | None | bundle method |
Request:
{"id":"1","v":1,"method":"gmail.list","params":{"limit":5}}Response:
{"id":"1","ok":true,"result":{"emails":[...]},"meta":{"server_ms":12}}See FGP-PROTOCOL.md for the complete specification.
| Language | Package | Status |
|---|---|---|
| Rust | fgp-daemon |
Coming soon |
| Python | fgp-daemon-py |
Coming soon |
| Node.js | fgp-daemon-node |
Planned |
FGP services install to ~/.fgp/:
~/.fgp/
├── config.json # Global configuration
├── services/ # Installed services
│ ├── gmail/
│ │ ├── manifest.json
│ │ └── daemon.sock
│ └── github/
│ ├── manifest.json
│ └── daemon.sock
├── auth/ # Shared authentication
│ ├── google/
│ └── github/
└── logs/ # Service logs
Every FGP daemon must implement:
health- Returns status, pid, version, uptimestop- Graceful shutdownmethods- Lists available methods
MIT