Ougha.Mcp.Youtrack — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Ougha.Mcp.Youtrack (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server that integrates with JetBrains YouTrack's REST API, providing comprehensive tools for issue tracking, project management, and user administration.
"0-1") not shortName (e.g., "QM") to avoid 400 errors git clone https://github.com/ugurhangul/youtrackMCP.git
cd Ougha.MCP.YouTrack npm install cp .env.example .envEdit .env and set your YouTrack configuration:
YOUTRACK_URL=https://your-company.youtrack.cloud
YOUTRACK_TOKEN=your-permanent-token
YOUTRACK_TIMEOUT=30000
YOUTRACK_RATE_LIMIT=60
DEBUG=false npm run build| Variable | Required | Default | Description |
|---|---|---|---|
YOUTRACK_URL | ✅ | - | Your YouTrack instance URL |
YOUTRACK_TOKEN | ✅ | - | YouTrack permanent token |
YOUTRACK_TIMEOUT | ❌ | 30000 | Request timeout in milliseconds |
YOUTRACK_RATE_LIMIT | ❌ | 60 | Max requests per minute |
DEBUG | ❌ | false | Enable debug logging |
.env filenpm startAdd the server to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"ougha-youtrack": {
"command": "node",
"args": ["/absolute/path/to/Ougha.MCP.YouTrack/build/index.js"],
"env": {
"YOUTRACK_URL": "https://your-company.youtrack.cloud",
"YOUTRACK_TOKEN": "your-permanent-token"
}
}
}
}Once connected to an MCP client, you can use natural language commands like:
create-issue - Create a new issue (now supports story points)get-issue - Get issue details by IDupdate-issue - Update an existing issue (now supports story points)search-issues - Search issues with basic filtersadd-comment - Add a comment to an issuedelete-issue - Delete an issue permanently (⚠️ WARNING: Cannot be undone!)get-issue-links - Get issue links and dependencies for an issuecreate-issue-link - Create a link between two issues (dependency, relation, etc.)delete-issue-link - Delete an issue linkget-link-types - Get available issue link typesset-story-points - Set story points for an issueget-story-points - Get story points for an issuelist-projects - List all projectsget-project - Get project detailsget-current-user - Get current user informationlist-users - List usersget-user - Get user detailssearch-issues-advanced - Advanced search with YouTrack query languagesearch-users-by-name - Search users by nameget-my-issues - Get issues assigned to current userget-recent-issues - Get recently updated issuesget-work-items - Get work items (time logs) for an issuecreate-work-item - Create a work item (log time) for an issueupdate-work-item - Update an existing work itemdelete-work-item - Delete a work itemset-estimation - Set or update time estimation for an issueget-time-summary - Get comprehensive time tracking summary for an issue{
"tool": "create-issue",
"arguments": {
"project": "0-1",
"summary": "Implement new feature",
"description": "Feature description",
"estimationMinutes": 480,
"assignee": "user-id"
}
}⚠️ Important: Use project ID (e.g., "0-1") not shortName (e.g., "QM"). Get the correct ID using list-projects tool.
{
"tool": "create-work-item",
"arguments": {
"issueId": "PROJECT-123",
"duration": 120,
"description": "Development work",
"type": "Development"
}
}{
"tool": "get-time-summary",
"arguments": {
"issueId": "PROJECT-123"
}
}{
"tool": "create-issue-link",
"arguments": {
"issueId": "PROJECT-123",
"targetIssue": "PROJECT-456",
"linkType": "Depends on",
"direction": "OUTWARD"
}
}{
"tool": "get-issue-links",
"arguments": {
"issueId": "PROJECT-123"
}
}{
"tool": "get-link-types",
"arguments": {
"projectId": "PROJECT-ID"
}
}{
"tool": "set-story-points",
"arguments": {
"issueId": "PROJECT-123",
"storyPoints": 8
}
}{
"tool": "create-issue",
"arguments": {
"project": "0-1",
"summary": "Implement user authentication",
"description": "Add OAuth2 authentication",
"storyPoints": 13,
"estimationMinutes": 480,
"assignee": "user-id"
}
}⚠️ Important: Use project ID (e.g., "0-1") not shortName (e.g., "QM"). Get the correct ID using list-projects tool.
The search-issues-advanced tool supports YouTrack's powerful query language:
assignee: me State: Open
project: MyProject created: today
priority: Critical assignee: unassigned
updated: -7d .. today State: {In Progress}
reporter: john.doe project: ABC,XYZThe server includes comprehensive error handling for:
The server implements intelligent rate limiting:
npm run buildnpm run cleanIf you encounter rate limiting:
YOUTRACK_RATE_LIMIT valueMIT License - see LICENSE file for details.
For issues and questions:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.