Kepler CRM
Server Details
Connect your AI client to Kepler CRM, a recruitment CRM. Search candidates and CRM records, read activity history, manage tasks and notes, and update recruiting pipelines with the permissions granted to your connection. Hosted Streamable HTTP endpoint with OAuth sign-in; each connection is bound to one Kepler workspace and respects the user's permissions. Requires a Kepler account with MCP enabled.
- Status
- Unhealthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Score is being calculated.
Available Tools
11 toolsaggregate_recordsRead-onlyIdempotentInspect
Computes counts, sums, averages, minimums, or maximums over one record type, optionally grouped by a field or a date bucket, with the same filters as list_records. Use for "how many", "per stage", "average fee", "placements per month". Returns exact figures from the database, never estimates. For pipeline questions aggregate applications, not candidates.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | Yes | ||
| filters | Yes | ||
| group_by | Yes | ||
| date_bucket | Yes | ||
| metric_field | Yes | ||
| resource_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
describe_fieldsRead-onlyIdempotentInspect
Lists the fields of a record type: standard fields, this workspace's custom fields with their slugs, types, allowed options, and whether each can be written, plus the workspace pipeline stages for applications. Call it before filtering on or writing any workspace-specific attribute, and before update_application_stage. Pass writable_only to see only what update_record accepts. No data rows are returned.
| Name | Required | Description | Default |
|---|---|---|---|
| resource_type | Yes | ||
| writable_only | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
get_activityRead-onlyIdempotentInspect
Reads one note, call, meeting, email, or other activity in full by id, including body text (HTML notes are returned as plain text with the HTML alongside), links, and version. Use after search_activities when the snippet is not enough, and before update_note.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
get_current_userRead-onlyIdempotentInspect
Returns who you are acting as and the conventions this CRM expects: user id, workspace, role, today's date and timezone, the tools and scopes this connection may use, a short list of domain rules (how "my" resolves, what "candidates in the pipeline" means, how periods are interpreted), and the workspace's own definitions of what its objects mean. Call it once at the start of a conversation and before resolving any relative date or ownership phrase.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
get_job_matchesRead-onlyIdempotentInspect
Reads the stored results of the most recent matching run for a job: ranked candidates with scores, per-criterion verdicts, evidence, and missing must-haves. It never starts or refreshes a run and has no AI cost. Use it for "why is she ranked first", "who fails a mandatory criterion", or to intersect matches with another attribute. If no run exists it says so; ask the user to run matching in Kepler.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | Default 25, max 50. | |
| state | Yes | ||
| cursor | Yes | next_cursor from the previous page. | |
| job_id | Yes | UUID | |
| criterion_status | Yes | ||
| mandatory_verdict | Yes | ||
| detail_candidate_ids | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
get_recordRead-onlyIdempotentInspect
Reads one record in full by exact id: all standard fields, custom fields by slug, version, and the few related rows needed next (a candidate's applications with stage and status, a job's company and open application counts, a list's member ids). Requires an id from a search or list result. Use this before any update so you have expected_version. Never guess an id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID | |
| record_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
get_work_queueRead-onlyIdempotentInspect
Returns the user's prioritised operational picture in one call: overdue and due-today tasks, stalled submissions, jobs with no recent activity, interviews missing feedback, guarantees expiring, and today's agenda, each with counts and ages. Use for "what needs my attention", "what should I do today", "what am I waiting on". Do not rebuild this from separate searches. Figures in one group apply only to that group.
| Name | Required | Description | Default |
|---|---|---|---|
| days | Yes | Window in days, both directions. Default 7. | |
| scope | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
list_recordsRead-onlyIdempotentInspect
Returns exact rows of one record type by structured filters and sorts, with a total count. Use for browse or comparison questions with concrete criteria ("open contract jobs in Sydney", "candidates whose notice period is one month"). Field ids and custom-field slugs come from describe_fields; filter values must be ISO dates or option slugs. For fuzzy or CV-content criteria use search_candidates. Pages of 50; follow next_cursor for more.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | Default 25, max 50. | |
| sorts | Yes | ||
| cursor | Yes | next_cursor from the previous page. | |
| fields | Yes | Restrict returned columns. | |
| filters | Yes | ||
| resource_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
search_activitiesRead-onlyIdempotentInspect
Searches history: notes, comments, calls, meetings and their summaries, emails, messages, and timeline updates, optionally scoped to one record, actor, type, or date range. Use for "what did we discuss", "when did we last contact", "who said X". Mode exact finds verbatim wording; hybrid (default) ranks by meaning. Each item carries the activity id, type, date, actor, linked records, and a snippet. Summaries are excerpts; read get_activity for the full body.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ||
| limit | Yes | ||
| query | Yes | ||
| types | Yes | ||
| date_to | Yes | ||
| actor_id | Yes | ||
| date_from | Yes | ||
| record_id | Yes | ||
| record_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
search_candidatesRead-onlyIdempotentInspect
Finds candidates by meaning across profile, CV text, recruiter notes, and call or meeting summaries. Use for skills, experience, background, or things a candidate said; combine with filters for status, location, owner, or custom fields. Put non-negotiable terms (a company, certification, tool) in must_include to hard-exclude candidates whose corpus lacks them. Returns ranked rows with a snippet showing why each matched. Use list_records instead for exact structured lookups. Bounded to 50 per call; total_count says how many matched.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ||
| limit | Yes | Default 25, max 50. | |
| query | Yes | Words you expect in the CV, notes or summaries, not a description of the search. | |
| cursor | Yes | next_cursor from the previous page. | |
| filters | Yes | ||
| must_include | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
search_recordsRead-onlyIdempotentInspect
Cross-type lookup by name, title, email, domain, or free text over jobs, companies, contacts, applications, placements, tasks, and saved lists. Use it to resolve "the Acme role" or "Priya's application" to exact ids before reading or writing. For candidates use search_candidates. Returns up to 25 per call with type, id, label, and a one-line context.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | ||
| query | Yes | ||
| resource_types | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT- AlicenseNot gradedqualityBmaintenanceAnalyze LinkedIn & email outreach campaigns, track pipeline performance, and review lead conversations for RevOps, Sales Managers, and SDR teams.Apache 2.0
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.1129 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.