JSPM

  • Created
  • Published
  • Downloads 624
  • Score
    100M100P100Q102654F

MCP server for APUtime

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@aputime/mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    APUtime MCP Server

    APUtime Logo

    The APUtime MCP Server allows you to integrate APUtime capabilities directly into various AI assistants and coding environments.

    Security Disclaimer

    The APUtime MCP server is entirely safe and secure to install. It relies solely on standard official libraries (such as the official @modelcontextprotocol/sdk and zod) and has zero runtime external dependencies to install when executed. All necessary code is securely bundled locally before deployment.

    Since this package is published to npm and handles authentication with the APUtime API, it is crucial to keep your personal credentials secure:

    • Never commit your APUTIME_API_KEY to version control.
    • Avoid exposing your credentials in public scripts or CI/CD pipelines without proper secret management.
    • Ensure that the execution environment for the MCP server is secure and trusted.

    Configuration

    The server requires specific environment variables to authenticate with your APUtime workspace. You can obtain these from your APUtime settings (https://app.aputime.com/settings/integrations).

    Environment Variables

    • APUTIME_APP_NAME (Required): Your APUtime application name.
    • APUTIME_API_KEY (Required): Your APUtime API key.

    Client Setup Examples

    opencode

    Add the following configuration to your opencode settings:

    {
      "mcp": {
        "aputime": {
          "type": "local",
          "enabled": true,
          "command": [
            "npx",
            "-y",
            "@aputime/mcp@latest"
          ],
          "environment": {
            "APUTIME_APP_NAME": "YOUR_WORKSPACE_NAME",
            "APUTIME_API_KEY": "YOUR_API_TOKEN"
          }
        }
      }
    }

    Zed

    Add the following to your Zed settings.json in the mcp section:

    {
      "mcp": {
        "aputime": {
          "command": "npx",
          "args": [
            "-y",
            "@aputime/mcp@latest"
          ],
          "env": {
            "APUTIME_APP_NAME": "YOUR_WORKSPACE_NAME",
            "APUTIME_API_KEY": "YOUR_API_TOKEN"
          }
        }
      }
    }

    Claude Desktop

    Add the following to your claude_desktop_config.json:

    {
      "mcpServers": {
        "aputime": {
          "command": "npx",
          "args": [
            "-y",
            "@aputime/mcp@latest"
          ],
          "env": {
            "APUTIME_APP_NAME": "YOUR_WORKSPACE_NAME",
            "APUTIME_API_KEY": "YOUR_API_TOKEN"
          }
        }
      }
    }

    Windsurf

    Add the following to your mcp_config.json:

    {
      "mcpServers": {
        "aputime": {
          "command": "npx",
          "args": [
            "-y",
            "@aputime/mcp@latest"
          ],
          "env": {
            "APUTIME_APP_NAME": "YOUR_WORKSPACE_NAME",
            "APUTIME_API_KEY": "YOUR_API_TOKEN"
          }
        }
      }
    }

    LibreChat

    Add the following to your librechat.yaml:

    mcpServers:
      aputime:
        type:    stdio
        command: npx
        args:
          - "-y"
          - "@aputime/mcp@latest"
        env:
          APUTIME_APP_NAME: "YOUR_WORKSPACE_NAME"
          APUTIME_API_KEY:  "YOUR_API_TOKEN"

    TOOLS

    ---start-tools---

    create_project

    Creates a new TicketProject in APUtime. Can be created empty or from a template

    Parameters:

    • name (string) (required): TicketProject name. min: 1 chars. max: 255 chars
    • description (string): TicketProject description
    • start (string): Postpone date in ISO format (e.g., "2024-05-13 00:00")
    • end (string): Deadline date in ISO format (e.g., "2024-06-13 00:00")
    • id_ticket_template (string): TicketTemplate - Search 'list_ticket_templates' for required ID
    • id_ticket_project_tag (array): TicketProjectTag/Category - Search 'list_ticket_project_tags' for required IDs. array
      • Items type: string
    • scheduling (boolean): Enable AI scheduling for this TicketProject
    • default_user_role (string): Default role for users. one of: "participant", "participant_isolated"
      • Allowed values: participant, participant_isolated
    • default_admin_role (string): Default role for managers. one of: "manager", "participant", "participant_isolated"
      • Allowed values: manager, participant, participant_isolated

    create_ticket

    Creates a new Ticket/Task in APUtime. For events (type='event'), both start and end times are required.

    Parameters:

    • name (string) (required): Ticket/Task name. min: 1 chars. max: 255 chars
    • id_ticket_project (string) (required): TicketProject - Search 'list_ticket_projects' for required ID
    • description (string): Ticket/Task description
    • type (string) (required): "task" for regular Ticket/Tasks, "event" for strictly scheduled events. one of: "task", "event"
      • Allowed values: task, event
    • start (string): Postpone date in ISO format (e.g., "2024-05-13 00:00"); (required for events)
    • end (string): Deadline date in ISO format (e.g., "2024-06-13 00:00"); (required for events)
    • estimated_minutes (number): Estimated time in minutes (default: 45 for Ticket/Tasks). integer
    • id_ticket_person (array): TicketPerson/User - Search 'list_ticket_persons' for required IDs; Solver(s). array
      • Items type: string
    • id_group (array): Group/UserGroup - Search 'list_groups' for required IDs; Group Solvers(s). array
      • Items type: string
    • cooperation_mode (boolean): Enable group cooperation mode. When enabled, all solvers are scheduled at the coordinated time. Only on explicit request.
    • id_ticket_tag (array): TicketTag/Label - Search 'list_ticket_tags' for required IDs. array
      • Items type: string

    done_ticket

    Marks all solvers of a ticket as done. This is a proxy method that sets the TicketSolver status for all solvers automatically.

    Parameters:

    • id_ticket (string) (required): Ticket/Task ID

    get_ticket

    Retrieves detailed information about a specific Ticket/Task by ID

    Parameters:

    • id_ticket (string) (required): Ticket/Task ID

    get_ticket_person

    Retrieves detailed information about a specific TicketPerson/User by ID

    Parameters:

    • id_ticket_person (string) (required): TicketPerson/User ID

    get_ticket_project

    Retrieves detailed information about a specific TicketProject by ID

    Parameters:

    • id_ticket_project (string) (required): TicketProject ID

    list_groups

    Lists and Searches Groups/UserGroups in APUtime

    Parameters:

    • query (string): Fulltext search query
    • next_token (string): Pagination next token
    • limit (number): Number of results (max recommended: 13 and use next_token). integer. max: 21

    list_ticket_persons

    Lists and Searches TicketPersons/Users in APUtime

    Parameters:

    • query (string): Fulltext search query
    • id_group (array): Group/UserGroup - Search 'list_groups' for required IDs. array
      • Items type: string
    • next_token (string): Pagination next token
    • limit (number): Number of results (max recommended: 13 and use next_token). integer. max: 21

    list_ticket_project_budget_types

    Lists and Searches TicketProjectBudgetTypes in APUtime

    Parameters:

    • query (string): Fulltext search query
    • next_token (string): Pagination next token
    • limit (number): Number of results (max recommended: 13 and use next_token). integer. max: 21

    list_ticket_project_expense_types

    Lists and Searches TicketProjectExpenseTypes in APUtime

    Parameters:

    • query (string): Fulltext search query
    • next_token (string): Pagination next token
    • limit (number): Number of results (max recommended: 13 and use next_token). integer. max: 21

    list_ticket_project_income_types

    Lists and Searches TicketProjectIncomeTypes in APUtime

    Parameters:

    • query (string): Fulltext search query
    • next_token (string): Pagination next token
    • limit (number): Number of results (max recommended: 13 and use next_token). integer. max: 21

    list_ticket_project_tags

    Lists and Searches TicketProjectTags/Categories in APUtime

    Parameters:

    • query (string): Fulltext search query
    • next_token (string): Pagination next token
    • limit (number): Number of results (max recommended: 13 and use next_token). integer. max: 21

    list_ticket_projects

    Lists and Searches TicketProjects in APUtime

    Parameters:

    • query (string): Fulltext search query
    • context (array): Context filter. array
      • Items type: string
    • id_ticket_project_tag (array): TicketProjectTag/Category - Search 'list_ticket_project_tags' for required IDs. array
      • Items type: string
    • id_creator (array): TicketPerson/Author - Search 'list_ticket_persons' for required IDs. array
      • Items type: string
    • next_token (string): Pagination next token
    • limit (number): Number of results (max recommended: 13 and use next_token). integer. max: 21

    list_ticket_tags

    Lists and Searches TicketTags/Labels in APUtime

    Parameters:

    • query (string): Fulltext search query
    • next_token (string): Pagination next token
    • limit (number): Number of results (max recommended: 13 and use next_token). integer. max: 21

    list_ticket_templates

    Lists and Searches TicketTemplates in APUtime

    Parameters:

    • query (string): Fulltext search query
    • id_ticket_project_tag (array): TicketProjectTag/Category - Search 'list_ticket_project_tags' for required IDs. array
      • Items type: string
    • id_creator (array): TicketPerson/Author - Search 'list_ticket_persons' for required IDs. array
      • Items type: string
    • next_token (string): Pagination next token
    • limit (number): Number of results (max recommended: 13 and use next_token). integer. max: 21

    list_ticket_timers

    Lists time tracking entries in APUtime. Returns timer records showing which Ticket/Tasks have been timed and their durations

    Parameters:

    • query (string): Fulltext search query
    • context (array): Context filter. array
      • Items type: string
    • id_creator (array): TicketPerson/Author - Search 'list_ticket_persons' for required IDs. array
      • Items type: string
    • id_ticket_tag (array): TicketTag/Label - Search 'list_ticket_tags' for required IDs. array
      • Items type: string
    • id_ticket_project_tag (array): TicketProjectTag/Category - Search 'list_ticket_project_tags' for required IDs. array
      • Items type: string
    • id_group (array): Group/UserGroup - Search 'list_groups' for required IDs. array
      • Items type: string
    • id_ticket (array): Ticket - Search 'list_tickets' for list of required IDs. array
      • Items type: string
    • id_ticket_project (array): TicketProject - Search 'list_ticket_projects' for list of required IDs. array
      • Items type: string
    • next_token (string): Pagination next token
    • limit (number): Number of results (max recommended: 13 and use next_token). integer. max: 21

    list_tickets

    Lists and Searches Tickets/Tasks in APUtime

    Parameters:

    • query (string): Fulltext search query
    • context (array): Context filter. array
      • Items type: string
    • id_ticket_tag (array): TicketTag/Label - Search 'list_ticket_tags' for required IDs. array
      • Items type: string
    • id_ticket_project_tag (array): TicketProjectTag/Category - Search 'list_ticket_project_tags' for required IDs. array
      • Items type: string
    • id_ticket_person (array): TicketPerson/User - Search 'list_ticket_persons' for required IDs; TicketPerson is Solver.. array
      • Items type: string
    • id_group (array): Group/UserGroup - Search 'list_groups' for required IDs; Has Solver from Group.. array
      • Items type: string
    • id_ticket_project (array): TicketProject - Search 'list_ticket_projects' for list of required IDs. array
      • Items type: string
    • next_token (string): Pagination next token
    • limit (number): Number of results (max recommended: 13 and use next_token). integer. max: 21

    my_schedule

    Shows Current My Schedule plan in APUtime. This tool provide the correct response for questions like:

    • What's up next? (used with limit 1)
    • Give me next task to do. (used with limit 1)
    • What is my schedule for today?
    • Show my todo list.

    and can be used with filters: "What is next task in project X?"

    • If you set the limit 1, the user has intention to load full detail. Follow returned single item list with get_ticket tool.

    Parameters:

    • query (string): Fulltext search query
    • context (array): Context filter. array
      • Items type: string
    • id_ticket_tag (array): TicketTag/Label - Search 'list_ticket_tags' for required IDs. array
      • Items type: string
    • id_ticket_project_tag (array): TicketProjectTag/Category - Search 'list_ticket_project_tags' for required IDs. array
      • Items type: string
    • id_ticket_person (array): TicketPerson/User - Search 'list_ticket_persons' for required IDs; TicketPerson is Solver.. array
      • Items type: string
    • id_group (array): Group/UserGroup - Search 'list_groups' for required IDs; Has Solver from Group.. array
      • Items type: string
    • id_ticket_project (array): TicketProject - Search 'list_ticket_projects' for list of required IDs. array
      • Items type: string
    • next_token (string): Pagination next token
    • limit (number): Number of results (max recommended: 13 and use next_token). integer. max: 21

    send_chat_message

    Sends a chat message in APUtime. Supports three destination types: project-wide, task-specific, or channel messages. Messages support rich formatting (bold, italic, strikethrough, links, code blocks, lists).

    Message types:

    • 'projectMessage' — Sends to a project chat (requires project_id)
    • 'taskMessage' — Sends to a task thread (requires task_id)
    • 'channelMessage' — Sends to a chat channel (requires channel_id)

    Parameters:

    • message_type (string) (required): Type of chat destination. one of: "projectMessage", "taskMessage", "channelMessage"
      • Allowed values: projectMessage, taskMessage, channelMessage
    • project_id (string) (required): TicketProject - Search 'list_ticket_projects' for required ID
    • task_id (string) (required): Ticket - Search 'list_tickets' for required ID
    • channel_id (string): Channel ID (required for channelMessage)
    • operations (array) (required): Message content segments. array. min: 1 items
      • Items type: object
    • reply_message_id (string): Reply in thread to this message ID

    undone_ticket

    Marks all solvers of a ticket as not done. This is a proxy method that sets the TicketSolver status for all solvers automatically.

    Parameters:

    • id_ticket (string) (required): Ticket/Task ID

    update_ticket

    Updates an existing Ticket in APUtime. Supports partial updates — only provided fields are changed

    Parameters:

    • id_ticket (string) (required): Ticket - Search 'list_tickets' for required ID
    • name (string): Ticket/Task name. min: 1 chars. max: 255 chars
    • id_ticket_project (string): TicketProject - Search 'list_ticket_projects' for required ID; Move to different TicketProject (ID)
    • description (string): Ticket/Task description
    • type (string): "task" for regular Ticket/Tasks, "event" for strictly scheduled events. one of: "task", "event"
      • Allowed values: task, event
    • start (string): Postpone date in ISO format (e.g., "2024-05-13 00:00"); (required for events)
    • end (string): Deadline date in ISO format (e.g., "2024-06-13 00:00"); (required for events)
    • estimated_minutes (number): Estimated time in minutes (default: 45 for Ticket/Tasks). integer
    • id_ticket_person (array): TicketPerson/User - Search 'list_ticket_persons' for required IDs; New Solver(s). array
      • Items type: string
    • id_group (array): Group/UserGroup - Search 'list_groups' for required IDs; New Group Solvers(s). array
      • Items type: string
    • cooperation_mode (boolean): Enable group cooperation mode. When enabled, all solvers are scheduled at the coordinated time. Only on explicit request.
    • id_ticket_tag (array): TicketTag/Label - Search 'list_ticket_tags' for required IDs; New label IDs (merged with current). array
      • Items type: string
    • solver_mode (string): How to apply solver changes. Replace/Reassign or Merge/Append. one of: "replace", "merge"
      • Allowed values: replace, merge

    update_ticket_project

    Updates an existing TicketProject in APUtime. Supports partial updates — only provided fields are changed

    Parameters:

    • id_ticket_project (string) (required): TicketProject - Search 'list_ticket_projects' for required ID
    • name (string): TicketProject name. min: 1 chars. max: 255 chars
    • start (string): Postpone date in ISO format (e.g., "2024-05-13 00:00")
    • end (string): Deadline date in ISO format (e.g., "2024-06-13 00:00")
    • description (string): TicketProject description
    • id_ticket_project_tag (array): TicketTag/Label - Search 'list_ticket_tags' for required IDs; New category IDs (merged with current). array
      • Items type: string
    • scheduling (boolean): Enable AI scheduling for this TicketProject

    update_ticket_solver

    Updates an existing TicketSolver in APUtime. Supports partial updates — only provided fields are changed. Important: When users asks to close the task, you should ask if they mean to set the status for all solvers (use done_ticket tool then) or the specific one.

    Parameters:

    • id_ticket_solver (string) (required): TicketSolver - Search in Ticket.TicketSolver 'get_ticket' for required ID
    • status (string): TicketSolver Status. one of: "open", "working_now", "resolved", "rejected_and_closed"
      • Allowed values: open, working_now, resolved, rejected_and_closed

    whoami

    Retrieves detailed information about the currently authenticated TicketPerson/User.

    When the users asks to use 'self', 'me', this tool will return the currenlty logged in user information. This can be used to personalize responses, or to provide user-specific data in follow-up interactions.

    ---end-tools---