MCP Core Tools
Easy8 core tools are available from the built-in MCP server when the related service classes load successfully and the effective API user has the required permissions.
Every tool publishes a JSON schema through tools/list; clients should use that schema as the source of truth for accepted arguments and supported filters. Cross-field requirements are still validated by the tool at runtime.
easy8_projects_list
Lists visible projects.
Use it when the client needs to resolve a project before creating or filtering issues.
Arguments:
limit- maximum number of projects to returnoffset- pagination offsetname- project name filter
easy8_users_me
Returns the effective Easy8 user for this MCP request.
Use it when the prompt contains terms like me, my, mine, or assigned to me and the client wants to resolve the current user before calling another tool.
Example request:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "easy8_users_me",
"arguments": {}
}
}
easy8_users_search
Searches visible active users and returns IDs suitable for assignment.
Arguments:
limit- maximum number of users to returnoffset- pagination offsetquery- name, login, or numeric user ID to searchproject_id- optional visible project ID; limits results to project members
easy8_issues_list
Lists visible issues.
For prompts such as Show me all issues which are assigned to me, call this tool with assigned_to_id: "me". The server resolves me through the effective API user described in User identity.
The response includes issue metadata, description, comments_count, start_date, due_date, tag_list, and nested reference objects for related records such as project, tracker, status, priority, author, and assigned_to. List responses include offset, limit, and has_more metadata. When has_more is true, the response also includes next_offset. The response includes total_count only when include_total_count is true; counting broad result sets can be expensive.
Arguments:
limit- maximum number of issues to returnoffset- pagination offsetproject_id- filter by projectassigned_to_id- filter by assignee user ID, or use"me"for the effective current MCP userstatus- high-level status filter,all,open, orclosedstatus_id- specific status ID or list of IDssubject- subject text filterdue_date_period- relative due date filtersort_by- sortable EasyIssueQuery column name, such ascreated_onorupdated_onsort_direction- sort direction,ascordescinclude_total_count- whentrue, includetotal_count; use only when the client needs an exact count
easy8_issues_get
Returns one visible issue by ID.
Arguments:
id- issue IDinclude_journals- whentrue, include a paginated page of visible journal notesjournals_limit- maximum number of journal notes returned wheninclude_journalsistruejournals_offset- pagination offset for journal notes wheninclude_journalsistrue
The response includes issue metadata, description, tag_list, and comments_count. When include_journals is true, the response also includes journals, journals_total_count, journals_offset, and journals_limit.
easy8_issues_comments_list
Lists visible issue journal notes ordered from newest to oldest.
Arguments:
id- issue IDlimit- maximum number of commentsoffset- pagination offset
The response includes comments, total_count, offset, and limit.
Issue attachment tools
Use these tools when the user asks to attach files to a task/issue, list files already attached to a task/issue, or read an attachment so the assistant can analyze its contents.
Tools:
easy8_issue_attachments_list- lists visible attachments on an issueeasy8_issue_attachments_upload- uploads content provided in the tool arguments as a new issue attachmenteasy8_issue_attachments_read- reads one visible text-like issue attachment into the tool response
Important behavior:
- Do not pass local file paths to
easy8_issue_attachments_upload; the Easy8 server cannot read files from the client machine. - To upload a local file, the client-side assistant must read the file content first, then pass that content as
content. - Use
content_encoding: "plain"for text andcontent_encoding: "base64"for binary files. easy8_issue_attachments_readreturnscontent_encoding: "plain"for text-like files.easy8_issue_attachments_readdoes not return raw binary or base64 content. Images, PDFs, spreadsheets, and other binary files return metadata withanalysis_supported: false; Claude needs those files passed by the client as proper image/document/file content blocks.- Large text attachments may be truncated according to
max_bytes.
Example upload request:
{
"jsonrpc": "2.0",
"id": 12,
"method": "tools/call",
"params": {
"name": "easy8_issue_attachments_upload",
"arguments": {
"id": 123,
"filename": "analysis.md",
"content": "# Analysis\n\nSummary from the assistant.",
"content_encoding": "plain",
"content_type": "text/markdown",
"description": "Generated analysis"
}
}
}
Example read request:
{
"jsonrpc": "2.0",
"id": 13,
"method": "tools/call",
"params": {
"name": "easy8_issue_attachments_read",
"arguments": {
"id": 123,
"attachment_id": 456,
"content_format": "auto",
"max_bytes": 262144
}
}
}
easy8_issues_create
Creates a new issue.
Arguments include:
- project selectors:
project_id,projectId,project,project_name,project_identifier - subject aliases:
subject,title,name - issue fields:
tracker_id,description,description_format,assigned_to_id,priority_id,status_id,parent_issue_id,parent_id,start_date,due_date - custom fields:
custom_fields
Notes:
- the issue subject is required
- a project selector is required
- permissions are checked with standard Easy8 authorization
- required custom fields are validated server-side
parent_issue_idcreates a subtask;parent_idis accepted as an alias whenparent_issue_idis absent
easy8_issues_update
Updates an existing issue.
Arguments include:
id- issue IDsubjectdescriptionassigned_to_idpriority_idstatus_idparent_issue_id- moves the issue under another issue; usenullto remove the parentparent_id- alias forparent_issue_idwhenparent_issue_idis absentstart_datedue_datenotes- appends a new comment to the issue journaldescription_formatandnotes_format- set tomarkdownwhen sending Markdown text
Project workflow tools
easy8_projects_geteasy8_projects_createeasy8_projects_updateeasy8_projects_archiveeasy8_projects_unarchiveeasy8_projects_closeeasy8_projects_reopeneasy8_projects_copy
Project member tools
easy8_project_members_listeasy8_project_members_addeasy8_project_members_update
Project version tools
easy8_project_versions_listeasy8_project_versions_geteasy8_project_versions_createeasy8_project_versions_update
Project issue category tools
easy8_project_issue_categories_listeasy8_project_issue_categories_createeasy8_project_issue_categories_update
Metadata and issue workflow tools
easy8_issue_statuses_listeasy8_issue_priorities_listeasy8_trackers_listeasy8_time_entry_activities_listeasy8_custom_fields_listeasy8_issues_transition_optionseasy8_issues_comments_createeasy8_issue_attachments_listeasy8_issue_attachments_uploadeasy8_issue_attachments_readeasy8_issue_relations_listeasy8_issue_relations_create
Time entry tools
easy8_time_entries_listeasy8_time_entries_geteasy8_time_entries_createeasy8_time_entries_update