Files
librefang-registry/integrations
Evan c25a321e88 fix: pin npm package versions in MCP integration templates (#25)
* fix: pin npm package versions in MCP integration templates

Prevent supply chain attacks by pinning exact versions instead of
using unpinned `npx -y @package` which pulls latest on every run.

23 of 25 integrations pinned. sqlite-mcp and aws skipped (packages
not found on npm registry).

* fix: use stable azure/mcp version instead of beta
2026-03-25 22:27:42 +09:00
..

Integrations

MCP (Model Context Protocol) server integration templates for LibreFang. Each integration connects LibreFang to an external service (GitHub, Slack, databases, etc.).

Structure

integrations/
├── github.toml
├── slack.toml
├── postgresql.toml
└── ...

Integration TOML Format

id = "service-id"                 # Must match filename (without .toml)
name = "Service Name"
description = "What this integration provides"
category = "devtools"             # devtools | communication | storage | monitoring | data
icon = "🐙"
tags = ["relevant", "tags"]

[transport]                       # MCP server transport config
type = "stdio"                    # "stdio" or "sse"
command = "npx"
args = ["-y", "@pkg/mcp-server"]

[[required_env]]                  # Required environment variables
name = "SERVICE_API_KEY"
label = "API Key"
help = "How to obtain this key"
is_secret = true
get_url = "https://..."

[oauth]                           # Optional: OAuth config
provider = "github"
scopes = ["repo"]
auth_url = "https://..."
token_url = "https://..."

[health_check]
interval_secs = 60
unhealthy_threshold = 3

setup_instructions = """
Step-by-step setup guide for users.
"""

Current Integrations (25)

Integration Category Service
github devtools GitHub repos, issues, PRs
slack communication Slack messaging
notion productivity Notion pages and databases
postgresql storage PostgreSQL database
... See each file for details

Adding a New Integration

  1. Create integrations/<name>.toml
  2. Ensure id matches the filename
  3. Test the MCP server command locally
  4. Run python scripts/validate.py
  5. Submit a PR

See CONTRIBUTING.md for the full guide.