Skip to main content

MCP server

Connect to a third party tool to get answers and insights

Use the Model Context Protocol (MCP) to connect your Perdoo account with ChatGPT, Claude, Perplexity, or any MCP-compatible tool.


Configuring the Perdoo MCP server

You can use the below image as the icon for the app/connection:

ChatGPT / OpenAI

  • Sign into your Perdoo account.

Claude

  • Sign into your paid Claude account

  • Go to Settings > Connectors

  • Click Add custom connector

  • Fill in the connector details:

    • Name: Perdoo

    • Remote MCP server URL: https://mcp.perdoo.com

    • Advanced settings > OAuth Client ID: 7QSbCViY5hsv1Br6ZNVmWq30U0ps56gLpWYRVRjZ

  • Click Add

  • Go to Settings > Connectors

  • Find Perdoo, click Connect and then Authorize

You'll see in the top-right corner that you're connected to Perdoo!

Perplexity

  • Advanced > OAuth > Client ID: 7QSbCViY5hsv1Br6ZNVmWq30U0ps56gLpWYRVRjZ

  • Click Add

  • Click on the connector to authorize your Perdoo account

  • After a successful authorization, you should see this message:

Copilot Studio (via Power Automate)

  • Create a Perdoo API token

  • Personal settings > API token, copy the token immediately and store it securely since it will not be displayed again

  • Select the environment that contains the agent

  • Open the agent, select Tools, then click + New tool

  • In the New tool dialog, click Model Context Protocol

  • Fill in the connector details:

    • Server name: Perdoo MCP

    • Server description: Connect Copilot Studio to Perdoo data and actions.

    • Authentication: API key

    • Type: Header

    • Header name: Authorization

  • Click Create

  • Select the Perdoo MCP server

  • In Power Automate, 5. Test: + New connection > Paste Bearer api_key > InvokeMCP > Raw Body On > Test operation

  • Return to the Copilot Studio and select the new connection if it was not selected automatically

  • Click + Add to agent from the 3 dot menu, then Add.

If creating the connector from Power Automate: New custom connector > Create from blank > Swagger editor > Create connector > 5. Test: + New connection > Paste Bearer api_key > InvokeMCP > Raw Body On > Test operation


Available tools

Tool

Description

get_me

Get the currently authenticated user's profile

get_company

Get the currently authenticated user's profile

list_okrs

List OKRs (Objectives together with their Key results)

list_objectives

List OKR objectives with optional filters, progress, and status

get_objective

Get a single objective by ID, including Key results, lead, timeframe, tags, custom field values, and update frequency

list_results

List Key results and Initiatives

get_result

Get a single Key result or Initiative by ID, including custom field values and target frequency

list_kpis

List KPIs (Key Performance Indicators) with optional filters, including custom field values, target frequency, and update frequency

get_kpi

Get a single KPI by ID, including lead, teams, tags, current and target value, custom field values, target frequency, and update frequency

list_strategic_pillars

List Strategic pillars with optional filters

get_strategic_pillar

Get a single strategic pillar by ID, including children and progress details

list_teams

List teams with optional filters

get_team

Get a single team by ID, including members, sub-teams, and parent

list_users

List users/team members with optional filters

list_timeframes

List timeframes (planning periods) with optional filters

list_reviews

List reviews

list_updates

List progress updates (value changes on goals)

search_all

Search across all Perdoo entities (objectives, key results, KPIs, users, teams, etc.)

draft_okrs

Creates a DRAFT Objective and its Key results in one call, so a full OKR can be drafted in conversation and reviewed in Perdoo before going live

create_objective

Creates an Objective in a timeframe (DRAFT by default; pass stage ACTIVE to publish immediately)

create_result

Creates a Key result or Initiative under an Objective

create_kpi

Creates a KPI with metric unit, target type/frequency, update cadence, lead and teams

update_goal_progress

Logs a progress update (new value + status + note) on a KPI or key result

update_goals

Edits an existing Objective, Key result or KPI: rename, change lead, adjust targets, move stage DRAFT to ACTIVE to CLOSED

includeNotes

Notes/comments on get_kpi, get_objective, get_result via includeNotes + the 25 most recent activity-feed comments

includeProgressHistory

Progress history on get_kpi and get_result via includeProgressHistory, with optional date range

includeTargets

Targets via includeTargets — raw target rows, plus a per-period target grid for KPIs that flags whether each point was explicitly set or carried forwar

Example prompts

Which of my team's OKRs are off track this quarter?

The model calls `list_timeframes` to find the current timeframe, then `list_okrs` with `stage=ACTIVE` and `status=BEHIND` to retrieve at-risk Objectives and their Key results.

Summarize progress on our 'Expansion Strategy' strategic pillar.

The model calls `search_all` with `query="Expansion Strategy"` to locate the pillar, then `get_strategic_pillar` with its ID to retrieve the full pillar, its child Objectives, and rolled-up progress.

Who leads the Engineering team and what KPIs do they own?

The model calls `list_teams` with `nameContains="Engineering"`, follows up with `get_team` to list members and the team lead, then `list_kpis` with the lead's `leadId` to return their active KPIs and current values.

Show my most recent progress update and which key result it belongs to.

The model calls `get_me` to identify the current user, then `list_updates` with that `userId` ordered by `commitDate` to return the latest update and the Key result it applies to.


Have a question?

Contact our friendly Support team via the in-app chat at the bottom-right of your screen, or email support@perdoo.com.

Did this answer your question?