Connect OpenCode to Jira and Telegram
What happens next
Set up in minutes
Choose where it runs
On your computer through your own OpenCode, or hosted in the cloud. The rest of setup adapts to your choice:
Pick what it can do in Jira
A preset of real Jira operations. Each one becomes a tool the agent can call, and it can't touch anything outside the list.
Pick what it can do in Telegram
A preset of real Telegram operations. Each one becomes a tool the agent can call, and it can't touch anything outside the list.
Connect Jira
One sign-in. The agent acts through your account, scoped to the operations you picked.
Connect Telegram
One sign-in. The agent acts through your account, scoped to the operations you picked.
Add your personal MCP link
The last step mints a private MCP URL for this agent and walks you through exactly this, with your real link filled in. The page flips to Connected the moment your OpenCode first calls in.
1. Run this in your terminal
2. Choose Remote and paste your server URL
3. Choose No when asked about OAuth authentication — the link itself is the key
<your-link> is your personal server URL — setup mints it for you.
Exact capabilities
Tools OpenCode gets
Jira
193 toolsGet a specific issue by key or ID
Search for issues using JQL
Create a new issue
Update an existing issue
Transition an issue to a new status
List available transitions for an issue
Add a comment to an issue
Delete an issue
List accessible projects
Get project details
Search for users
Get current user details
Get metadata for an attachment
Download an attachment (returns a stored file reference)
Delete an attachment
Add attachment to an issue
Get all attachments for an issue
Get attachment with expanded human-readable data
Add worklog to an issue (time tracking)
Get a worklog by ID
Update a worklog
Delete a worklog
Get all worklogs for an issue
Get list of IDs for deleted worklogs
Get list of IDs for updated worklogs
Get all worklog property keys for a worklog
Create a project component
Get a component by ID
Update a component
Delete a component
Get all components for a project
Get issue count for a component
Create a project version/release
Get a version by ID
Update a version
Delete a version
Get all versions for a project
Merge two versions
Move version position
Get issue counts for a version
Get count of unresolved issues for a version
Get an issue link by ID
Create a link between two issues
Delete an issue link
Get watchers for an issue
Add watcher to an issue
Remove watcher from an issue
Get all priorities
Get a priority by ID
Get all resolutions
Get a resolution by ID
Get all statuses
Get a status by ID
Get all issue types
Get an issue type by ID
Get issue types for a project
Create a filter (saved JQL query)
Get a filter by ID
Update a filter
Delete a filter
Search for filters
Get a comment by ID
Get all comments for an issue
Update a comment
Delete a comment
Get all fields
Create a custom field
Get all boards
Get a board by ID
Get issues for a board
Get backlog issues for a board
Get sprints for a board
Get a sprint by ID
Create a sprint
Update a sprint
Delete a sprint
Get issues in a sprint
Move issues to a sprint
Get an epic by ID or key
Get issues in an epic
Move issues to an epic
Get remote links for an issue
Create a remote link on an issue
Delete a remote link
Get all labels for an issue
Add labels to an issue
Set labels for an issue (replaces existing)
Get a property value for an issue
Set a property value for an issue
Delete a property from an issue
Get all property keys for an issue
Get permissions for the current user
Get all permissions in the system
Check if user has specific permissions
Get all permission schemes
Get a permission scheme by ID
Create a new permission scheme
Delete a permission scheme
Get all groups
Get a group by name
Create a new group
Delete a group
Add a user to a group
Remove a user from a group
Get members of a group
Get all project roles for a project
Get a specific project role
Add actors (users/groups) to a project role
Remove actors from a project role
Get all screens
Get a screen by ID
Get all tabs for a screen
Get all fields for a screen tab
Get all issue security schemes
Get an issue security scheme by ID
Get all notification schemes
Get a notification scheme by ID
Get all workflows
Get a workflow by name
Get all workflow schemes
Get a workflow scheme by ID
Get all dashboards
Get a dashboard by ID
Create a new dashboard
Update a dashboard
Delete a dashboard
Get audit log records
Search for projects
Get an application property
Get Jira server information
Get all issue link types
Get an issue link type by ID
Create a new issue link type
Update an issue link type
Delete an issue link type
Get all field configurations
Get a field configuration by ID
Get all field configuration schemes
Get a field configuration scheme by ID
Get all issue type schemes
Get an issue type scheme by ID
Create an issue type scheme
Update an issue type scheme
Delete an issue type scheme
Get all issue type screen schemes
Get an issue type screen scheme by ID
Get a priority scheme by ID
Get all priority schemes
Archive a project
Restore an archived project
Get a project category by ID
Get all project categories
Create a project category
Update a project category
Delete a project category
Assign an issue to a user
Get changelog for an issue
Send notification for an issue
Get votes for an issue
Add vote to an issue
Remove vote from an issue
Get a user by account ID
Get groups that a user belongs to
Get all properties for a user
Get a property for a user
Set a property for a user
Delete a property from a user
Create multiple issues in bulk
Update multiple issues in bulk
Delete multiple issues in bulk
Get all avatars for a project
Get all avatars for an issue type
Get all application properties
Set an application property
Get global configuration
Get issue security level by ID
Create a new status
Update a status
Delete a status
Create a new resolution
Update a resolution
Delete a resolution
Create a new priority
Update a priority
Delete a priority
Create a new issue type
Update an issue type
Delete an issue type
Validate a JQL query
Get auto-complete suggestions for JQL
Get current user preferences
Set a user preference
Get Jira license information
Telegram
48 toolsSend message directly to a chat ID
Send message to a public channel or group
Send a document/file to a chat ID
Deliver via webhook (no message required)
Send a photo to a chat
Send a video to a chat
Send an audio file to a chat
Send a voice note (.ogg) to a chat
Send a GIF or silent H.264/MPEG-4 AVC video
Send a circular video message
Send a sticker
Send a group of photos, videos, or documents as an album
Send a phone contact
Send a geographic location
Send a venue (location with title and address)
Send an animated emoji that displays a random value
Edit the text of a sent message
Edit the caption of a media message
Delete a message
Delete multiple messages at once
Pin a message in a chat
Unpin a message (or all messages) in a chat
Forward a message to another chat
Copy a message to another chat (without forward tag)
Show a 'typing…' or 'uploading…' indicator in a chat
Create and send a poll or quiz
Stop a running poll
Get full information about a chat
Get information about a member of a chat
Get the number of members in a chat
Get a list of administrators in a chat
Ban a user from a chat
Unban a previously banned user
Restrict a user's permissions in a chat
Promote a user to admin or update their admin rights
Change the title of a chat
Change the description of a chat
Create an additional invite link for a chat
Revoke an invite link to a chat
Answer a callback query from an inline keyboard button
Answer an inline query with a list of results
Set a reaction on a message
Get basic information about the bot
Get info about a file by its file_id (includes download URL)
Send a payment invoice
Confirm or reject a payment pre-checkout query
Guided channel setup flow. Registers a webhook with the bot, then generates a deep-link for the user. When the user adds the bot to their channel as admin, the channel ID is automatically detected and stored — no manual copy-pasting needed.
Connect a Telegram channel by entering its @username or numeric ID. The bot must already be added as an admin to the channel before running. This node validates the connection and returns the channel details. Works correctly in setup flows — runs once and returns channel_id immediately.
Starting points
What you can build
Meet the runner
About OpenCode
Good to know
Frequently asked questions
Keep exploring
More ways to connect
More tools for OpenCode
Popular OpenCode pairs
Make it yours
Open your OpenCode agent in one click.
NoClick runs OpenCode for you with Jira and Telegram wired in as tools. Connect your account and run.