Claude Code meets CloseYourIt
The first native MCP integration for bug tracking. Manage bugs directly from Claude Code in your IDE.
What is Model Context Protocol?
The open standard for connecting AI and external tools
MCP (Model Context Protocol) is an open standard developed by Anthropic to connect AI assistants like Claude with external tools and data. It allows Claude Code to interact directly with systems like CloseYourIt, reading and modifying data securely and in a controlled manner.
Architecture
Claude Code
Host / Client
MCP Protocol
JSON-RPC 2.0
CloseYourIt
MCP Server
Configuration in 3 Steps
Start using CloseYourIt with Claude Code in minutes
Generate your Bearer Token
Log in to your CloseYourIt account and go to Settings → API Token. Generate a new token and copy it to a safe place.
Important: The token will only be shown once. Keep it secure.
Configure Claude Code
You can configure the integration via CLI or by directly modifying the configuration file.
A CLI Method
claude mcp add --transport http closeyourit https://mcp.closeyour.it \
--header "Authorization: Bearer mcp_YOUR_TOKEN_HERE"
B Configuration File
Create or modify the .mcp.json file in your project root:
{
"mcpServers": {
"closeyourit": {
"command": "npx",
"args": [
"-y",
"@anthropic-ai/mcp-remote@latest",
"https://mcp.closeyour.it",
"--header",
"Authorization: Bearer mcp_YOUR_TOKEN_HERE"
]
}
}
}
Start using Claude Code
Restart Claude Code and start interacting with your bugs. Claude will have access to all CloseYourIt tools.
Ready! Now you can ask Claude things like "show me critical bugs" or "update the status of bug #123".
Available MCP Tools
79 tools to completely manage your bugs from Claude Code
Contesto
Tool CountGets complete workspace context in a single call: all organizations with their projects. Use this as an alternative to calling list_organizations then list_projects separately. Ideal for getting a quick overview of available workspaces before performing operations. No parameters required. Returns: Array of organizations, each with nested array of their active projects.
Parameters
include_ticket_counts
(boolean)
- Include open ticket count per project (default true). Set to false for faster response.
Lists all organizations the authenticated user has access to. Use this FIRST to get organization IDs needed by other tools. No parameters required. Returns: Array of organizations with id, name, slug, and your role in each.
Progetti
Tool CountLists all active projects in an organization. Use this to get project IDs needed for creating tickets or filtering. Prerequisite: Call list_organizations first to get the organization_id. Requires: can_view_projects permission (all roles have this). Returns: Array of projects with id, name, slug, code, and open ticket count.
Parameters
organization_id*
(string)
- UUID of the organization. Example: '550e8400-e29b-41d4-a716-446655440000'
Creates a new project in the current organization.
Parameters
name*
(string)
code
(string)
description
(string)
production_url
(string)
staging_url
(string)
client_id
(string)
Updates project core fields (name, code, description, urls, active).
Parameters
project_id*
(string)
name
(string)
code
(string)
description
(string)
production_url
(string)
staging_url
(string)
active
(boolean)
Deletes a project and all its dependent records. Use with caution.
Parameters
project_id*
(string)
Toggles team membership on a project for a specific account. If the account is already in the team, removes them; otherwise adds them.
Parameters
project_id*
(string)
account_id*
(string)
Generates a new project API token (action=generate) or revokes the current one (action=revoke). The generated plaintext token is only returned once.
Parameters
project_id*
(string)
action*
(string)
Ticket
Tool CountLists tickets with optional filters for status, priority, project, and assignee. Use this to browse and filter tickets in an organization. Prerequisite: Call list_organizations first to get the organization_id. Visibility: Managers/developers see all tickets; operations see only their own. Returns: Array of tickets with pagination (default 50, max 100 results).
Parameters
organization_id*
(string)
- UUID of the organization. Get this from list_organizations.
project_id
(string)
- Filter by project UUID (optional). Get this from list_projects.
status
(string)
- Filter by status (optional). Values: open, triage, in_progress, closed.
priority
(string)
- Filter by priority (optional). Values: low, medium, high, critical.
assignee_id
(string)
- Filter by assignee UUID (optional). Get member IDs from organization.
limit
(integer)
- Max results (default 50, max 100).
offset
(integer)
- Number of results to skip for pagination (default 0). Use with limit to paginate through results.
Gets detailed information about a specific ticket including all comments. Returns BDD fields (given/when/then) for bug tickets, or goal/user_story/rationale/non_goals/success_criteria for feature tickets. Prerequisite: Get ticket_id from list_tickets or search_tickets. Visibility: Operations can only view their own tickets. Returns: Full ticket payload plus comments, reporter, assignee, and organization.
Parameters
ticket_id*
(string)
- UUID of the ticket. Get this from list_tickets or search_tickets.
Creates a new ticket. Two types supported: - report_type "bug" (default): use BDD format (given, when_action, then_expected, then_actual). - report_type "feature": use goal, user_story, and success_criteria (list of testable items). Prerequisite: Call list_organizations then list_projects to get required IDs. Requires: manager or operation role. Returns: The created ticket with generated code (e.g., WEB-001).
Parameters
organization_id*
(string)
- UUID of the organization.
project_id*
(string)
- UUID of the project.
report_type
(string)
- Ticket type. 'bug' for defect (BDD format), 'feature' for new functionality (Goal + Criteria).
given
(string)
- BUG only — BDD GIVEN: Initial context when the bug occurred.
when_action
(string)
- BUG only — BDD WHEN: Action that triggered the bug.
then_expected
(string)
- BUG only — BDD THEN: Expected behavior.
then_actual
(string)
- BUG only — BDD ACTUAL: What actually happened.
goal
(string)
- FEATURE only — final outcome the feature should deliver.
user_story
(string)
- FEATURE only — canonical 'As <role> I want <action> so I can <benefit>'.
rationale
(string)
- FEATURE only — why this feature matters (optional).
non_goals
(string)
- FEATURE only — what is NOT included (optional).
success_criteria
(array)
- FEATURE only — at least one testable criterion. Each item: { text, checked? }.
priority
(string)
- Ticket priority.
story_points
(integer)
- Story points (required if organization has sprints enabled).
platform_code
(string)
- Platform code (e.g. 'web', 'ios', 'android', 'api'). Required for bugs — fallback to 'api'/'web' if omitted.
Updates a ticket's status, priority, or assignee. Use this to progress a ticket through the workflow or reassign it. Prerequisite: Get ticket_id from list_tickets or search_tickets. Permissions: Status to triage/in_progress requires work permission; status to closed requires resolve permission. Status flow: open -> triage -> in_progress -> closed. To unassign, set assignee_id to empty string.
Parameters
ticket_id*
(string)
- UUID of the ticket. Get this from list_tickets or search_tickets.
status
(string)
- New status (optional). Flow: open -> triage -> in_progress -> closed.
priority
(string)
- New priority (optional). Values: low, medium, high, critical.
assignee_id
(string)
- UUID of the account to assign (optional). Set to empty string '' to unassign.
Takes ownership of a ticket by assigning it to yourself and setting status to in_progress. Use this to claim a ticket before starting work on it. This prevents conflicts when multiple sessions work on the same project. Prerequisite: Get ticket_id from list_tickets or search_tickets. Permissions: Requires work permission on tickets. Note: If ticket is already assigned to someone else, a warning is returned but assignment proceeds.
Parameters
ticket_id*
(string)
- UUID of the ticket to take. Get this from list_tickets or search_tickets.
Completes a ticket by setting its status to closed. Use this when you have finished working on a ticket. Optionally add resolution notes that will be saved as a comment. Prerequisite: Get ticket_id from list_tickets or search_tickets. Permissions: Requires resolve permission on tickets. Note: If ticket is assigned to someone else, a warning is returned but completion proceeds.
Parameters
ticket_id*
(string)
- UUID of the ticket to complete. Get this from list_tickets or search_tickets.
resolution_notes
(string)
- Optional notes about how the ticket was resolved. Will be saved as a comment.
Adds a comment to a ticket for discussion or status updates. Use this to add notes, progress updates, or communicate with team members on a ticket. Prerequisite: Get ticket_id from list_tickets, search_tickets, or get_ticket. Any authenticated user with access to the ticket can add comments. Returns: The created comment with id, body, author, and timestamp.
Parameters
ticket_id*
(string)
- UUID of the ticket. Get this from list_tickets, search_tickets, or get_ticket.
body*
(string)
- Comment text. Example: 'Investigated the issue - root cause is in the payment gateway timeout settings.'
Deletes a comment from a ticket.
Parameters
comment_id*
(string)
Full-text search across tickets in an organization. Use this to find tickets by keywords in their BDD description (given, when, then fields) or ticket code. Prerequisite: Call list_organizations first to get the organization_id. Optionally filter by project_id or status. Use before creating a ticket to check for duplicates. Returns: Matching tickets (default 20, max 50 results) with query and count.
Parameters
organization_id*
(string)
- UUID of the organization. Get this from list_organizations.
query*
(string)
- Search query. Searches in BDD fields (given, when_action, then_expected, then_actual), feature fields (goal, user_story, rationale, non_goals), and ticket code. Example: 'login error', 'export csv', or 'WEB-001'.
project_id
(string)
- Limit search to specific project (optional). Get this from list_projects.
status
(string)
- Filter by status (optional). Values: open, triage, in_progress, closed.
limit
(integer)
- Max results (default 20, max 50).
offset
(integer)
- Number of results to skip for pagination (default 0).
Assigns a ticket to a specific account. Pass assignee_id=null to unassign. Use this when explicitly delegating work to a teammate.
Parameters
ticket_id*
(string)
assignee_id
(string)
Marks a ticket as resolved. Optionally add a resolution comment.
Parameters
ticket_id*
(string)
resolution_comment
(string)
Moves a ticket into triage state (pre-prioritization review).
Parameters
ticket_id*
(string)
Runs duplicate detection on draft BDD fields before creating a new ticket. Returns an array of potential duplicates with similarity scores. Honors the project's duplicate-detection feature flag.
Parameters
project_id*
(string)
given
(string)
when_action
(string)
then_expected
(string)
then_actual
(string)
Documentazione
Tool CountSaves technical documentation generated by AI for a project. Use this after analyzing a codebase to store documentation sections (models, controllers, services, etc.). Prerequisite: Call list_organizations then list_projects to get required IDs. Sections: overview, models, controllers, services, views, jobs, tests, or 'full' for complete documentation. Requires: can_create_documentation permission (manager role). Returns: documentation_id, section saved, and confirmation message.
Parameters
organization_id*
(string)
- UUID of the organization. Get this from list_organizations.
project_id*
(string)
- UUID of the project. Get this from list_projects.
section*
(string)
- Documentation section to save. Values: overview, models, controllers, services, views, jobs, tests, or 'full' for complete documentation.
content*
(string)
- Markdown content of the documentation. Use proper markdown formatting with headers, code blocks, etc.
metadata
(object)
- Optional metadata about the documentation analysis.
Deletes the documentation attached to a project.
Parameters
project_id*
(string)
Sprint
Tool CountLists sprints for the organization with optional status filter. Use this to browse sprints and their progress. Prerequisite: Call list_organizations first to get the organization_id. Returns: Array of sprints with pagination (default 50, max 100 results).
Parameters
organization_id*
(string)
- UUID of the organization. Get this from list_organizations.
status
(string)
- Filter by status (optional). Values: planned, active, completed, cancelled.
limit
(integer)
- Max results (default 50, max 100).
offset
(integer)
- Number of results to skip for pagination (default 0).
Gets detailed information about a specific sprint including its tickets. Use this to see sprint details and all tickets assigned to it. Prerequisite: Call list_sprints to get the sprint ID. Returns: Sprint object with array of sprint tickets including ticket info.
Parameters
organization_id*
(string)
- UUID of the organization. Get this from list_organizations.
sprint_id*
(string)
- UUID of the sprint. Get this from list_sprints.
Creates a new planned sprint with name, dates and capacity points.
Parameters
name*
(string)
code*
(string)
goal
(string)
start_date*
(string)
- YYYY-MM-DD
end_date*
(string)
- YYYY-MM-DD
capacity_points
(integer)
Updates a sprint's metadata. Status transitions must use the dedicated transition tools.
Parameters
sprint_id*
(string)
name
(string)
code
(string)
goal
(string)
start_date
(string)
end_date
(string)
capacity_points
(integer)
Deletes a planned sprint. Only sprints with status=planned can be deleted.
Parameters
sprint_id*
(string)
Creates the next sprint based on the structure of the given sprint. If complete_after=true and the previous sprint is active, also completes it.
Parameters
sprint_id*
(string)
complete_after
(boolean)
Segnalazioni
Tool CountLists bug reports for the organization with optional filters. Use this to browse and filter reports by status or project. Prerequisite: Call list_organizations first to get the organization_id. Returns: Array of reports with pagination (default 50, max 100 results).
Parameters
organization_id*
(string)
- UUID of the organization. Get this from list_organizations.
status
(string)
- Filter by status (optional). Values: pending, converted, rejected.
project_id
(string)
- Filter by project UUID (optional). Get this from list_projects.
limit
(integer)
- Max results (default 50, max 100).
offset
(integer)
- Number of results to skip for pagination (default 0).
Creates a new bug report for a project. Use this to submit a bug report with a free-text description that will be analyzed. Prerequisite: Call list_organizations then list_projects to get required IDs. Requires: permission to create reports. Returns: The created report with generated code (e.g., WEB-R001).
Parameters
organization_id*
(string)
- UUID of the organization. Get this from list_organizations.
project_id*
(string)
- UUID of the project. Get this from list_projects.
description*
(string)
- Detailed description of the bug (minimum 20 characters). Describe what happened, steps to reproduce, and any relevant context.
Enqueues an AnalyzeReportJob for an existing report to refresh its AI analysis.
Parameters
report_id*
(string)
Scenari
Tool CountList available test scenarios for the current organization. Returns scenarios that can be executed via browser automation (Playwright).
Parameters
organization_id
(string)
- UUID of the organization. Get this from list_organizations.
status
(string)
- Filter by status (default: active)
project_id
(string)
- Filter by project ID
tags
(array)
- Filter by tags (scenarios must have ALL specified tags)
limit
(integer)
- Maximum number of scenarios to return (default: 50)
Get full details of a test scenario including its description that explains what to test. Use this before executing a scenario to understand the test steps and requirements.
Parameters
organization_id
(string)
- UUID of the organization. Get this from list_organizations.
scenario_id*
(string)
- The scenario ID to retrieve
Creates a new test scenario for browser automation testing. Scenarios describe test steps in natural language that can be executed by Claude for Chrome or Playwright. Prerequisite: Call list_organizations to get the organization ID. Optionally, call list_projects to get a project ID for association. Requires: scenarios:create permission. Returns: The created scenario with its ID.
Parameters
organization_id*
(string)
- UUID of the organization. Get this from list_organizations.
name*
(string)
- Name of the scenario. Example: 'Login Flow Test'
description*
(string)
- Test steps in natural language. Example: '1. Navigate to login page\n2. Enter credentials\n3. Click Login button\n4. Verify dashboard is shown'
base_url
(string)
- Base URL for the test. Optional. Example: 'https://app.example.com'
project_id
(string)
- UUID of the associated project. Optional. Get this from list_projects.
tags
(array)
- Tags for categorization. Example: ['login', 'smoke-test']
status
(string)
- Scenario status. Values: draft (default), active, disabled.
preferred_tool
(string)
- Preferred browser automation tool. Values: claude_for_chrome (default), playwright.
Updates an existing test scenario. Only the fields you provide will be updated. To clear optional fields like base_url or project_id, pass an empty string. To clear tags, pass an empty array. Requires: scenarios:update permission. Returns: The updated scenario with a list of modified fields.
Parameters
organization_id
(string)
- UUID of the organization. Get this from list_organizations.
scenario_id*
(string)
- UUID of the scenario to update. Get this from list_scenarios.
name
(string)
- New name for the scenario.
description
(string)
- New test steps in natural language.
base_url
(string)
- New base URL. Pass empty string to clear.
project_id
(string)
- New project UUID. Pass empty string to remove project association.
tags
(array)
- New tags array. Pass empty array [] to clear all tags.
status
(string)
- New status. Values: draft, active, disabled.
preferred_tool
(string)
- New preferred browser automation tool.
Deletes a testing scenario in the current organization.
Parameters
scenario_id*
(string)
Runs an AI validation pass on a scenario description before saving it. Useful to refine the scenario text or check feasibility on a target URL.
Parameters
description*
(string)
base_url
(string)
Report the result of a scenario execution. If the test failed, a ticket will be automatically created in the associated project with details about the failure.
Parameters
organization_id*
(string)
- UUID of the organization. Get this from list_organizations.
scenario_id*
(string)
- The scenario that was executed
result*
(string)
- Test result: 'passed' (test succeeded), 'failed' (test assertions failed), 'error' (execution error)
notes
(string)
- Execution notes, observations, or detailed explanation of the failure/success
error_details
(object)
- Details about the error (for failed/error results)
started_at
(string)
- When the scenario execution started (ISO8601). Defaults to current time if not provided.
Timer
Tool CountStarts a time entry (timer) on a ticket belonging to an active order. Use this when the user starts working on a ticket and you want to track time. Only one timer per account can be active at a time.
Parameters
order_id*
(string)
- UUID of the order (commessa)
ticket_id*
(string)
- UUID of the ticket being worked on
notes
(string)
- Optional notes for the time entry
billable
(boolean)
- Whether the time is billable (default true)
hourly_rate
(number)
- Override hourly rate (defaults to order rate)
Stops the currently running timer for the authenticated account. Use this when the user stops working or wants to log time so far.
Returns the currently running timer for the authenticated account, or running:false if no timer is active.
Lists up to 10 tickets the current account is most likely to track time on: tickets assigned to or reported by them in projects with at least one active order. Use this to suggest a ticket to start a timer for.
Commesse
Tool CountLists orders (commesse) in the current organization. Filter by project_id or status. Returns id, name, code, project, status, hourly_rate, budget data.
Parameters
project_id
(string)
status
(string)
limit
(integer)
Returns full details for one order (commessa) by UUID.
Parameters
order_id*
(string)
Creates a new draft order (commessa) on a project. Requires create:orders permission. Use after the user picks a project to start tracking work.
Parameters
project_id*
(string)
name*
(string)
code
(string)
hourly_rate
(number)
budget_hours
(number)
budget_amount
(number)
limit_type
(string)
Updates fields of an existing order (commessa).
Parameters
order_id*
(string)
name
(string)
code
(string)
hourly_rate
(number)
budget_hours
(number)
budget_amount
(number)
notify_owner
(boolean)
Deletes a draft order. Only orders with status=draft can be deleted.
Parameters
order_id*
(string)
Transitions an order between status states. action="activate" moves draft to active, "complete" closes the order, "archive" archives it.
Parameters
order_id*
(string)
action*
(string)
Lists per-member hourly rates configured for one order (commessa).
Parameters
order_id*
(string)
Creates or updates the hourly rate for a specific membership on an order. If a rate already exists for that membership on that order, it's updated.
Parameters
order_id*
(string)
membership_id*
(string)
hourly_rate*
(number)
Removes a per-member hourly rate from an order.
Parameters
member_rate_id*
(string)
Errori
Tool CountLists error groups for a project. Filter by status, level, or environment.
Parameters
project_id*
(string)
status
(string)
level
(string)
environment
(string)
limit
(integer)
Returns details and up to 20 recent error events for an error group.
Parameters
error_group_id*
(string)
Transitions an error group between statuses. action="resolve" marks fixed, "ignore" hides without fix, "mute" silences notifications.
Parameters
error_group_id*
(string)
action*
(string)
Converts an error group into a bug ticket. Returns the new ticket id and code.
Parameters
error_group_id*
(string)
Board
Tool CountLists the kanban board columns (stages) configured for the current organization.
Moves a ticket to a different kanban column. Pass either column_id (preferred) or status code. Use this when reorganizing the board state of a ticket.
Parameters
ticket_id*
(string)
column_id
(string)
status
(string)
Quickly assigns a ticket to a different account (or unassigns when assignee_id is omitted). Pass assignee_id=null/empty to remove the assignee.
Parameters
ticket_id*
(string)
assignee_id
(string)
Impostazioni
Tool CountLists all memberships in the current organization. Supports search by name/email and status filter.
Parameters
q
(string)
status
(string)
limit
(integer)
Invites a new member to the organization by email with a role preset. Sends a confirmation email.
Parameters
email*
(string)
- Email address of the invitee
role
(string)
- Role preset
Deactivates a membership (soft removal). The account is preserved but loses access.
Parameters
membership_id*
(string)
Regenerates the confirmation token and resends the invitation email for an unconfirmed member.
Parameters
membership_id*
(string)
Lists clients of the current organization. Optional search on name/email/company.
Parameters
q
(string)
active
(boolean)
limit
(integer)
Creates a new client in the organization.
Parameters
name*
(string)
email
(string)
phone
(string)
notes
(string)
company_name
(string)
vat_number
(string)
Updates fields of an existing client.
Parameters
client_id*
(string)
name
(string)
email
(string)
phone
(string)
notes
(string)
company_name
(string)
vat_number
(string)
active
(boolean)
Deletes a client. Fails if the client has associated projects.
Parameters
client_id*
(string)
Lists roles available in the current organization (preset + custom).
Returns the list of effective permissions granted by a role.
Parameters
role_id*
(string)
Webhooks
Tool CountLists webhooks configured for the current organization.
Parameters
active
(boolean)
Returns details of a specific webhook including subscribed events and stats.
Parameters
webhook_id*
(string)
Creates a webhook subscription. A strong secret_key is auto-generated and returned ONCE in the response — store it client-side because it cannot be retrieved later. Supported events: ticket_created, ticket_status_changed, ticket_assigned, ticket_priority_changed, ticket_commented, ticket_closed.
Parameters
name*
(string)
url*
(string)
subscribed_events*
(array)
active
(boolean)
Updates a webhook subscription (url, events, active). To rotate the secret_key set rotate_secret=true; a fresh key is generated server-side and returned once.
Parameters
webhook_id*
(string)
name
(string)
url
(string)
rotate_secret
(boolean)
- If true, replaces the secret with a fresh one
subscribed_events
(array)
active
(boolean)
Deletes a webhook subscription and all its delivery records.
Parameters
webhook_id*
(string)
Lists delivery attempts for a webhook with optional status filter (pending, delivered, failed, retrying).
Parameters
webhook_id*
(string)
status
(string)
limit
(integer)
Notifiche
Tool CountLists notifications for the authenticated account, optionally filtered to unread only.
Parameters
unread_only
(boolean)
limit
(integer)
Returns the count of unread notifications for the authenticated account.
Marks one notification as read.
Parameters
notification_id*
(string)
Marks all notifications for the authenticated account as read.
Practical Examples
How to use CloseYourIt from Claude Code
View critical bugs
You: "Show me all open critical bugs in the web-app project"
Claude: Will call list_bugs with status="open" and priority="critical", then show you a formatted list with reference number, title and assignee.
Analyze a specific bug
You: "Give me the details of bug WEB-0042 and suggest how to fix it"
Claude: Will use get_bug to get Given-When-Then, then analyze the context and suggest a solution based on your project code.
Close a resolved bug
You: "Mark bug WEB-0042 as resolved, I fixed the issue in the last commit"
Claude: Will call update_bug_status with status="resolved" and automatically add resolution notes based on your last commit.
Configuration for Other IDEs
Specific instructions for each development environment
Claude Code
Start the dialog to add a new MCP server:
/mcp add
Configure
- Field Name
- Field Type
- Field Command
Copilot / VS Code
Install via VS Code CLI:
code --add-mcp '{"name":"closeyourit","type":"http","url":"https://mcp.closeyour.it/","headers":{"Authorization":"Bearer mcp_YOUR_TOKEN_HERE"}}'
Alternative
Cursor
Go to Cursor Settings → MCP → New MCP Server. Use the standard JSON configuration provided above.
Factory CLI
Use Factory CLI to add the MCP server:
droid mcp add closeyourit "npx mcp-remote https://mcp.closeyour.it --header \"Authorization: Bearer mcp_YOUR_TOKEN_HERE\""
Gemini CLI
Project wide:
gemini mcp add closeyourit npx mcp-remote https://mcp.closeyour.it --header "Authorization: Bearer mcp_YOUR_TOKEN_HERE"
Globally:
gemini mcp add -s user closeyourit npx mcp-remote https://mcp.closeyour.it --header "Authorization: Bearer mcp_YOUR_TOKEN_HERE"
Gemini Code Assist
Follow the MCP configuration guide using the standard configuration.
JetBrains AI Assistant & Junie
AI Assistant: Go to Settings | Tools | AI Assistant | Model Context Protocol (MCP) → Add
Junie: Go to Settings | Tools | Junie | MCP Settings → Add
Kiro
In Kiro Settings, go to Configure MCP → Open Workspace or User MCP Config and use the standard configuration.
OpenCode
Add the following configuration to the file ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"closeyourit": {
"type": "remote",
"url": "https://mcp.closeyour.it/",
"headers": {
"Authorization": "Bearer mcp_YOUR_TOKEN_HERE"
}
}
}
}
Qoder / Qoder CLI
GUI: In Qoder Settings, go to MCP Server → + Add
CLI - Project wide:
qodercli mcp add closeyourit -- npx mcp-remote https://mcp.closeyour.it --header "Authorization: Bearer mcp_YOUR_TOKEN_HERE"
CLI - Globally:
qodercli mcp add -s user closeyourit -- npx mcp-remote https://mcp.closeyour.it --header "Authorization: Bearer mcp_YOUR_TOKEN_HERE"
Visual Studio
Follow the Visual Studio MCP guide and use the standard JSON configuration.
Warp
Go to Settings | AI | Manage MCP Servers → + Add and use the standard configuration. See the Warp documentation.
Windsurf
Follow the MCP configuration guide using the standard configuration.
Ready to power up your workflow?
Sign up now and start using CloseYourIt with Claude Code in minutes.