Engagedly MCP by usefulapi

Read employees, learning progress, certificates and recognition in Engagedly.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
88%
Naming quality
77%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'engagedly_list_block_reason_codes' name length outside 3-30 rangein engagedly_list_block_reason_codes
  • LOWTool 'engagedly_list_learning_resources' name length outside 3-30 rangein engagedly_list_learning_resources
  • LOWTool 'engagedly_get_learning_resource_contents' name length outside 3-30 rangein engagedly_get_learning_resource_contents

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,940Tokens (tool definitions)
~1.1 KBTypical response size
Significant attention impact (2.30% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "engagedly": {
      "url": "https://engagedly.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://engagedly.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (20)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢engagedly_list_users(email, include, page, size)

List employees with name, email, status, title, employee id and manager data. Filter by email. Use include to embed primary_reporter or direct_reports. API: GET /beta/users.

Input Schema

{
  "type": "object",
  "properties": {
    "email": {
      "description": "Return only the user with this email address.",
      "type": "string"
    },
    "include": {
      "description": "Comma-separated: primary_reporter, direct_reports.",
      "type": "string"
    },
    "page": {
      "description": "Page number, starting at 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_get_user(user_id, include)

Get one user by id, with profile fields and optional related data. API: GET /beta/users/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "minLength": 1,
      "description": "User id (from engagedly_list_users)."
    },
    "include": {
      "description": "Comma-separated: primary_reporter, direct_reports.",
      "type": "string"
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_get_user_permissions(user_id)

Get the permissions of one user. API: GET /beta/users/{id}/permissions.

Input Schema

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "minLength": 1,
      "description": "User id (from engagedly_list_users)."
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_list_user_attributes

List the system and custom user attributes of the organization (keys, data types, options, mandatory flag). API: GET /beta/user-attributes.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_list_block_reason_codes

List the reason codes that Engagedly uses when it blocks a user. API: GET /beta/users/block-reason-codes.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_list_departments(page, size)

List departments of the organization. API: GET /beta/departments.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, starting at 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_get_department(id)

Get one department by id. API: GET /beta/departments/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The id (from engagedly_list_departments)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_list_businesses(page, size)

List business units of the organization. API: GET /beta/businesses.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, starting at 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_get_business(id)

Get one business by id. API: GET /beta/businesses/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The id (from engagedly_list_businesses)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_list_locations(page, size)

List locations of the organization. API: GET /beta/locations.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, starting at 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_get_location(id)

Get one location by id. API: GET /beta/locations/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The id (from engagedly_list_locations)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_list_job_titles(page, size)

List job titles of the organization. API: GET /beta/job_titles.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, starting at 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_get_job_title(id)

Get one job title by id. API: GET /beta/job_titles/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The id (from engagedly_list_job_titles)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_list_permissions(page, size)

List the permissions that exist in the organization. API: GET /beta/permissions.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, starting at 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_list_praises(page, size)

List public praises (recognition posts) between employees. API: GET /beta/activities/praises.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, starting at 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_list_learning_resources(search_text, types, languages, providers, levels, ...)

List courses and playlists with filters (title text, type, language, provider, level, tags, duration, certified, archived, short code). Each item has an id and a short_code. API: GET /beta/learning/resources.

Input Schema

{
  "type": "object",
  "properties": {
    "search_text": {
      "description": "Case-insensitive match on the title.",
      "type": "string"
    },
    "types": {
      "description": "Resource types, for example Course.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "languages": {
      "description": "Language codes, for example en.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "providers": {
      "description": "Content providers, for example engagedly, udemy, go1.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "levels": {
      "description": "Difficulty levels.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "Beginner",
          "Intermediate",
          "Advanced"
        ]
      }
    },
    "tags": {
      "description": "Tags.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "short_code": {
      "description": "Return the resource with this exact short code.",
      "type": "string"
    },
    "certified": {
      "description": "Only resources that grant a certificate.",
      "type": "boolean"
    },
    "archived": {
      "description": "true = archived only; default is active only.",
      "type": "boolean"
    },
    "min_duration_minutes": {
      "description": "Minimum duration in minutes.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "max_duration_minutes": {
      "description": "Maximum duration in minutes.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort field, prefix with - for descending order.",
      "type": "string"
    },
    "page": {
      "description": "Page number, starting at 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 50 (default 15 for learning).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_get_learning_resource_contents(resource_id)

Get the content hierarchy (sections and items) of one course or playlist. API: GET /beta/learning/resources/{id}/contents.

Input Schema

{
  "type": "object",
  "properties": {
    "resource_id": {
      "type": "string",
      "minLength": 1,
      "description": "Resource id (from engagedly_list_learning_resources)."
    }
  },
  "required": [
    "resource_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_get_learner_report(learning_resource_ids, resource_types, page, size)

Report of learner progress per course or playlist. Filter by resource ids or types. API: GET /beta/learning/learner_reports.

Input Schema

{
  "type": "object",
  "properties": {
    "learning_resource_ids": {
      "description": "Internal course ids to report on.",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "resource_types": {
      "description": "Resource types, for example Course.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "page": {
      "default": 1,
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "size": {
      "default": 25,
      "description": "Items per page, 1 to 50.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_list_certificates(user_id, term, start_date, end_date, status, ...)

List certificates awarded to employees (name, authority, validity dates). Filter by user, term, dates or status. API: GET /beta/certificates.

Input Schema

{
  "type": "object",
  "properties": {
    "user_id": {
      "description": "Only certificates of this user.",
      "type": "string"
    },
    "term": {
      "description": "Search on certificate name or authority.",
      "type": "string"
    },
    "start_date": {
      "description": "Valid on or after this date (YYYY-MM-DD).",
      "type": "string"
    },
    "end_date": {
      "description": "Valid on or before this date (YYYY-MM-DD).",
      "type": "string"
    },
    "status": {
      "description": "Validity status.",
      "type": "string",
      "enum": [
        "active",
        "expired"
      ]
    },
    "page": {
      "description": "Page number, starting at 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢engagedly_get_certificate(id)

Get one certificate by id. API: GET /beta/certificates/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "Certificate id (from engagedly_list_certificates)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded20 tools