{"apiVersion":"v1","directorySlug":"graneth-mcp-e8f4545e90","title":"Graneth","description":null,"pageUrl":"https://www.mcpbundles.com/skills/graneth-mcp-e8f4545e90","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://graneth.com/api/mcp","hostedMcpUrl":null,"toolCount":4,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.graneth/graneth-mcp-e8f4545e90","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"scan_repository","description":"Trigger a Level 1 + Level 2 security scan on a GitHub pull request. Returns SAST findings, taint flows, entropy-detected secrets, and (for PRO users) LLM-triaged results. Requires Graneth authentication.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["owner","repo","pull_number","token"],"properties":{"repo":{"type":"string","pattern":"^[a-zA-Z0-9._-]{1,100}$","maxLength":100},"owner":{"type":"string","pattern":"^[a-zA-Z0-9._-]{1,100}$","maxLength":100},"token":{"type":"string","maxLength":200},"pull_number":{"type":"integer","maximum":1000000,"exclusiveMinimum":0}}},"logicalName":"scan_repository","displayName":"scan_repository","title":"scan_repository","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"pre_flight_check","description":"Security pre-flight check for local file changes BEFORE committing. Run this whenever you are about to suggest `git commit`, `git push`, or open a pull request — especially when changes touch auth, secrets, SQL queries, package.json / requirements.txt, or environment variables. Returns CLEAR or BLOCKED with specific findings and remediation steps.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["files"],"properties":{"files":{"type":"array","items":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","maxLength":500},"content":{"type":"string","maxLength":200000}}},"maxItems":50},"context":{"type":"string","maxLength":500}}},"logicalName":"pre_flight_check","displayName":"pre_flight_check","title":"pre_flight_check","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_findings","description":"Retrieve the security findings recorded by your most recent scan of this repository, optionally filtered by exact file path or severity. Returns an error if you have never scanned it — that is not the same answer as no findings. Checks that could not run are reported as a count, never listed among the findings.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["owner","repo"],"properties":{"file":{"type":"string","maxLength":500},"repo":{"type":"string","pattern":"^[a-zA-Z0-9._-]{1,100}$","maxLength":100},"owner":{"type":"string","pattern":"^[a-zA-Z0-9._-]{1,100}$","maxLength":100},"severity":{"enum":["critical","warning","info"],"type":"string"}}},"logicalName":"get_findings","displayName":"get_findings","title":"get_findings","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"auto_remediate","description":"Generate an automated security fix for a specific finding. Creates a GitHub PR with the patched code. Verifies the fix with Level 1 SAST before opening the PR. Requires authentication, 3 credits, and ANTHROPIC_API_KEY.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["owner","repo","token","file","line","finding_type","title","severity","description","recommendation"],"properties":{"ref":{"type":"string","default":"main","pattern":"^[a-zA-Z0-9/_.-]{1,200}$","maxLength":200},"file":{"type":"string","maxLength":500},"line":{"type":"integer","maximum":100000,"exclusiveMinimum":0},"repo":{"type":"string","pattern":"^[a-zA-Z0-9._-]{1,100}$","maxLength":100},"owner":{"type":"string","pattern":"^[a-zA-Z0-9._-]{1,100}$","maxLength":100},"token":{"type":"string","maxLength":200},"severity":{"enum":["critical","warning","info"],"type":"string"},"finding_type":{"type":"string","maxLength":100},"recommendation":{"type":"string","maxLength":2000}}},"logicalName":"auto_remediate","displayName":"auto_remediate","title":"auto_remediate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Graneth&config=eyJ1cmwiOiAiaHR0cHM6Ly9ncmFuZXRoLmNvbS9hcGkvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Graneth%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fgraneth.com%2Fapi%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Graneth%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fgraneth.com%2Fapi%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Graneth&connectorUrl=https%3A%2F%2Fgraneth.com%2Fapi%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Graneth\" --url \"https://graneth.com/api/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/graneth-mcp-e8f4545e90","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/graneth-mcp-e8f4545e90/tools/{tool}","mcpServerUrl":"https://graneth.com/api/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/graneth-mcp-e8f4545e90?live=1"}