BLT-MCP
BLT-MCP is an MCP server providing structured access to the OWASP BLT (Bug Logging Tool) ecosystem, enabling AI agents and developers to manage bugs, vulnerabilities, and security workflows.
Submit Issues – Report bugs, vulnerabilities, features, or other issues with a title, description, optional repository ID, severity level (low, medium, high, critical), and type.
Update Issue Status – Change an issue's status to
open,in_progress,resolved,closed, orwont_fix, optionally with an explanatory comment.Add Comments – Post comments to existing issues by providing the issue ID and comment text.
Award Bacon Points – Grant points to contributors as part of BLT's gamification system, specifying a contributor ID, point amount, and reason.
Access Resources via
blt://URIs – Query structured data including issues, repositories, contributors, workflows, leaderboards, and rewards.AI-Guided Security Workflows – Use built-in prompts to triage vulnerabilities, plan remediations, assess contribution quality, and recommend bacon point awards.
Integrate Securely – Connect via JSON-RPC 2.0 with OAuth or API key authentication, supporting both IDE/chat interfaces and autonomous AI agent operations.
Provides structured access to the OWASP Bug Logging Tool (BLT) ecosystem, allowing AI agents to submit issues, triage vulnerabilities, manage security workflows, and track contributor rankings and rewards.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BLT-MCPSubmit a high-priority bug for the auth system in repo 123"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
BLT-MCP
An MCP (Model Context Protocol) server that provides AI agents and developers with structured access to the BLT (Bug Logging Tool) ecosystem. This server enables seamless integration with IDEs and chat interfaces to log bugs, triage issues, query data, and manage security workflows.
Overview
BLT-MCP implements the MCP standard, giving AI agents structured access to BLT through three powerful layers:
🔗 Resources (blt:// URIs)
Access BLT data through standardized URIs:
blt://issues- All issues in the systemblt://issues/{id}- Specific issue detailsblt://repos- Tracked repositoriesblt://repos/{id}- Specific repository detailsblt://contributors- All contributorsblt://contributors/{id}- Specific contributor detailsblt://workflows- All workflowsblt://workflows/{id}- Specific workflow detailsblt://leaderboards- Leaderboard rankings and statisticsblt://rewards- Rewards and bacon points
🛠️ Tools
Perform actions on BLT:
submit_issue - Report new bugs and vulnerabilities
award_bacon - Award bacon points to contributors (gamification)
update_issue_status - Change issue status (open, in_progress, resolved, closed, wont_fix)
add_comment - Add comments to issues
💡 Prompts
AI-guided workflows for common security tasks:
triage_vulnerability - Guide AI through vulnerability triage and severity assessment
plan_remediation - Create comprehensive remediation plans for security issues
review_contribution - Evaluate contributions with quality assessment and bacon point recommendations
Features
✅ JSON-RPC 2.0 - Standard protocol for reliable communication
✅ OAuth/API Key Authentication - Secure access to BLT endpoints
✅ Unified Interface - Single agent-friendly interface to all BLT functionality
✅ Autonomous Workflows - Enable AI agents to work independently
✅ Gamification Support - Built-in support for BLT's bacon point system
✅ Security-First - Designed for vulnerability management and security workflows
Installation
Prerequisites
Node.js 18 or higher
npm or yarn
Install Dependencies
npm installBuild
npm run buildConfiguration
Environment Variables
Create a .env file based on .env.example:
cp .env.example .envConfigure the following variables:
BLT_API_BASE=https://blt.owasp.org/api
BLT_API_KEY=your_api_key_hereMCP Client Configuration
To use this server with an MCP client (like Claude Desktop or Cline), add it to your MCP settings:
{
"mcpServers": {
"blt": {
"command": "node",
"args": ["/absolute/path/to/blt-mcp/dist/index.js"],
"env": {
"BLT_API_BASE": "https://blt.owasp.org/api",
"BLT_API_KEY": "your_api_key_here"
}
}
}
}Usage
Running the Server
The server runs using stdio transport for MCP communication:
node dist/index.jsUsing with AI Agents
Once configured in your MCP client, you can interact with BLT through natural language:
Example: Submitting an Issue
"Submit a new critical vulnerability in the authentication system of repo 123"The AI agent will use the submit_issue tool to create the issue.
Example: Accessing Resources
"Show me the leaderboard"The AI agent will read from blt://leaderboards to display the rankings.
Example: Using Prompts
"Help me triage this XSS vulnerability in the login form"The AI agent will use the triage_vulnerability prompt to guide the analysis.
API Reference
Resources
List All Issues
URI: blt://issues
Returns: JSON array of all issuesGet Specific Issue
URI: blt://issues/{id}
Returns: JSON object with issue detailsLeaderboards
URI: blt://leaderboards
Returns: JSON object with leaderboard dataTools
submit_issue
Submit a new issue to BLT.
Parameters:
title(string, required) - Issue titledescription(string, required) - Detailed descriptionrepo_id(string, optional) - Repository IDseverity(string, optional) - One of: low, medium, high, criticaltype(string, optional) - One of: bug, vulnerability, feature, other
Example:
{
"title": "XSS vulnerability in login form",
"description": "The login form is vulnerable to reflected XSS...",
"repo_id": "123",
"severity": "high",
"type": "vulnerability"
}award_bacon
Award bacon points to a contributor.
Parameters:
contributor_id(string, required) - Contributor IDpoints(number, required) - Points to awardreason(string, required) - Reason for the award
update_issue_status
Update the status of an issue.
Parameters:
issue_id(string, required) - Issue IDstatus(string, required) - One of: open, in_progress, resolved, closed, wont_fixcomment(string, optional) - Explanation for status change
add_comment
Add a comment to an issue.
Parameters:
issue_id(string, required) - Issue IDcomment(string, required) - Comment text
Prompts
triage_vulnerability
Guides AI through vulnerability triage.
Arguments:
vulnerability_description(required) - Description of the vulnerabilityaffected_component(optional) - Affected component or system
plan_remediation
Creates remediation plans for security issues.
Arguments:
issue_id(required) - Issue ID to create plan forcontext(optional) - Additional context
review_contribution
Evaluates security contributions.
Arguments:
contribution_id(required) - Contribution IDcontribution_type(optional) - Type of contribution
JSON-RPC Example
Since BLT-MCP uses JSON-RPC 2.0 over stdio, below is an example request and response format.
Example: Calling submit_issue Tool
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "submit_issue",
"arguments": {
"title": "Test issue from JSON-RPC",
"description": "This is a test issue created via raw JSON-RPC request.",
"severity": "low"
}
}
}Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true,
"message": "Issue submitted successfully"
}
}Troubleshooting
Node Version
Ensure you are running Node.js v18 or higher:
node -vMissing Environment Variables
Make sure .env is properly configured:
BLT_API_BASE=https://blt.owasp.org/api
BLT_API_KEY=your_api_key_hereBuild Issues
If dist/index.js is missing, run:
npm run buildDevelopment
Watch Mode
For development, use watch mode to automatically rebuild on changes:
npm run watchProject Structure
blt-mcp/
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript (generated)
├── package.json # Project dependencies
├── tsconfig.json # TypeScript configuration
├── .env.example # Example environment configuration
└── mcp-config.json # Example MCP client configurationSecurity Considerations
API Keys: Never commit API keys to version control. Use environment variables.
Access Control: Ensure proper authentication is configured for production use.
Rate Limiting: Be mindful of API rate limits when making requests.
Input Validation: The server validates all inputs before sending to the BLT API.
Contributing
Contributions are welcome! Please follow these guidelines:
Fork the repository
Create a feature branch
Make your changes
Submit a pull request
License
MIT License - see LICENSE file for details
Support
For issues, questions, or contributions, please visit:
GitHub: https://github.com/OWASP-BLT/BLT-MCP
OWASP BLT: https://owasp.org/www-project-bug-logging-tool/
Acknowledgments
Built on the Model Context Protocol
Part of the OWASP BLT Project
Powered by the security community
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/OWASP-BLT/BLT-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server