Skip to main content
Glama
paulieb89

PyP6Xer MCP Server

pyp6xer_search_activities

Read-onlyIdempotent

Search for activities in a Primavera P6 XER file by name or ID using case-insensitive substring matching. Filter by project and limit results.

Instructions

Search activities by name or activity ID (case-insensitive substring match).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesText to search in activity codes and names
cache_keyNoCache key identifying the loaded XER file (set when calling pyp6xer_load_file)default
proj_idNoProject ID or short name; uses first project if omitted
limitNoMaximum number of results to return
fieldsNoSubset of field names to return; call pyp6xer_get_activity_schema to see available names

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds behavioral traits: case-insensitive substring match across name and ID. No contradiction with annotations.

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?

Single sentence with 12 words, front-loaded with action and resource. Every word is necessary; no redundancy.

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?

Given the output schema exists and schema covers params, the description is mostly complete. However, it doesn't explicitly mention that the search operates on a loaded XER file (implied by cache_key), but that's acceptable since schema covers it.

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?

Schema coverage is 100% with descriptions for all 5 parameters. The tool description adds value by clarifying the query parameter does a case-insensitive substring match on both name and ID, which is not fully captured in the schema description ('Text to search in activity codes and names').

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?

The description clearly states the verb 'Search' and resource 'activities' with specific criteria: by name or activity ID, case-insensitive substring match. This distinguishes it from sibling tools like list_activities (listing all) or get_activity (exact ID retrieval).

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?

No guidance on when to use this tool versus alternatives (e.g., list_activities for unfiltered lists, get_activity for exact IDs). The description lacks explicit context or when-not-to-use advice.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/paulieb89/pyp6xer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server