Skip to main content
Glama

Server Details

Read your team's end-of-day reports and roster from Eodly. Sign in with OAuth or use an API key.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 65 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
layergen/eodly-mcp
GitHub Stars
0
Server Listing
Eodly MCP server

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: get_report retrieves a single report, list_reports lists multiple reports, list_team lists team members, and whoami identifies the workspace and scopes. There is no overlap or ambiguity between any of them.

Naming Consistency4/5

Three tools follow a clear verb_noun pattern (get_report, list_reports, list_team), but whoami deviates as a single-word command. This is a minor inconsistency that does not significantly hinder readability.

Tool Count5/5

With 4 tools, the server is well-scoped for its apparent read-only purpose. Each tool earns its place: listing reports, retrieving a report, listing the team, and identifying the connection. No unnecessary or missing tools at this count.

Completeness5/5

The domain is reading end-of-day reports and team information. The surface covers listing reports, getting a specific report, listing the team, and identifying the workspace/scopes. For a read-only integration (scopes are reports:read and team:read), this is complete with no obvious dead ends.

Available Tools

4 tools
get_reportGet an end-of-day reportA
Read-onlyIdempotent
Inspect

Get the full structured content of one end-of-day report by id (KPI status, what got done, silent, slipping, blockers). Requires the reports:read scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe report UUID.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context in the form of the required reports:read scope. It omits error behavior (e.g., unknown id) and pagination/format details, but with annotations carrying the safety burden this is a solid addition.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that leads with the action and resource, then parenthetically previews the payload, then closes with the scope requirement. No filler and nothing is buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with full schema coverage and rich annotations, this is complete. Because there is no output schema, the enumeration of returned content (KPI status, done, silent, slipping, blockers) usefully compensates, and the scope requirement is stated up front.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents the single id parameter as a UUID, so baseline is 3. The description's "by id" adds no format or syntax detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ("Get") plus resource ("one end-of-day report by id") with the returned content enumerated (KPI status, done, silent, slipping, blockers). The "by id" single-item framing contrasts cleanly with the sibling list_reports, so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear context: fetch a single report when the id is known, and the prerequisite "Requires the reports:read scope" tells the agent whether it can even call it. No explicit when-not or named alternative (e.g., use list_reports to discover ids) is given, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_reportsList end-of-day reportsA
Read-onlyIdempotent
Inspect

List recent end-of-day reports for the connected workspace, most recent first. Each report summarizes what got done, who is silent, and who is slipping. Requires the reports:read scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax reports to return (default 14).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so safety is covered. The description adds genuinely new behavioral context: the required reports:read scope (an auth prerequisite absent from annotations) and the result ordering. It stops short of describing pagination or result limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action and scope, then content, then the auth requirement. Every sentence earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, zero-required-param list tool with no output schema, the description covers what is returned, the ordering, the scope, and the auth requirement. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (limit) and schema description coverage is 100%, so the schema already carries the meaning including the default of 14. The description adds nothing about the limit parameter, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list end-of-day reports), scopes it to the connected workspace, and specifies ordering (most recent first), which implicitly distinguishes it from the singular get_report sibling. The one-line content summary ('what got done, who is silent, who is slipping') further pins down what this resource is.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies browsing/discovery usage through 'recent' and 'most recent first', but never states when to prefer this over get_report or list_team, and gives no exclusions or prerequisites beyond the scope requirement. Usage is inferable but not spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_teamList the team rosterA
Read-onlyIdempotent
Inspect

List the team roster for the connected workspace (name, role, department, active). Personal contact details are omitted. Requires the team:read scope.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description adds non-obvious context beyond them: personal contact details are omitted from the output and the call requires the team:read scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with no waste: scope and returned fields first, then the omission caveat, then the auth requirement. Every sentence carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter, read-only listing tool with no output schema, the description covers scope, returned fields, output omissions, and the required scope. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to document; the baseline of 4 applies. The description correctly implies the tool is unfiltered (whole roster for the connected workspace).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (team roster) scoped to the connected workspace, and enumerates the returned fields (name, role, department, active). Siblings (get_report, list_reports, whoami) are clearly a different domain, so the resource alone distinguishes it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the resource, and the description states the prerequisite 'Requires the team:read scope', which is genuine invocation guidance. However, it gives no when-to-use/when-not or explicit alternative routing among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

whoamiIdentify the connected workspaceA
Read-onlyIdempotent
Inspect

Identify the connected Eodly workspace and the scopes this connection holds.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuine value beyond that by disclosing what the call returns (workspace identity plus the connection's scopes) — useful since there is no output schema — though it says nothing about auth prerequisites or failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the identity purpose comes first and the scope detail second. Nothing could be trimmed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-argument, read-only identity call with no output schema, the description covers what the agent needs to decide to invoke it and what it will learn. Minor gap: no indication of error behavior when the connection is unauthenticated or invalid.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there are no parameter semantics to explain; per the baseline for a 0-param tool this is a 4. Nothing in the description is needed or missing here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Identify') and resource ('connected Eodly workspace') plus the additional payload (scopes). It is clearly distinct from get_report/list_reports/list_team, which deal with reports and people rather than connection identity, though it doesn't explicitly name those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: call it to discover which workspace you're bound to and what permissions the connection has, which is a natural first-step/verification call. There is no explicit when-to-use, when-not-to-use, or routing against the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedget_report
    • First observedlist_reports
    • First observedlist_team
    • First observedwhoami

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.