Skip to main content
Glama
Godofdeath1709

pathpilot-mcp-server

NitroStack Starter Template

Minimal template for learning NitroStack fundamentals with a calculator-focused MCP server and basic widgets.

What This Template Includes

  • calculator module with tools, resources, and prompts

  • TypeScript + Zod validation setup

  • Widget-ready project structure

  • Production-friendly npm scripts

Related MCP server: amrita-companion-mcp

Quick Start

npx @nitrostack/cli init my-server --template typescript-starter
cd my-server
npm run dev

Common Commands

npm run dev
npm run build
npm start

NitroStudio

NitroStudio is the recommended way to test and debug this template during development.

Community

Available Tools

6 tools
analyze_evidence_profileA

Analyze a GitHub repository OR a GitHub user profile URL and generate a learning roadmap. If a GitHub profile URL is provided, automatically inspect the user's public repositories to infer skills.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoHTTPS GitHub URL or owner/repo identifier (e.g. https://github.com/vercel/next.js or vercel/next.js). Optional if using profile-only mode.
optionsNo
pathwayNoCareer pathway for the skill evidence matrix.full-stack-developer
profileRefNoOptional LinkedIn profile reference (if includeLinkedIn true, uses demo profile when no token is present).
includeLinkedInNoIf true, include user-authorized LinkedIn profile as self-reported context.

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description must carry the burden of behavioral disclosure. It does disclose an automatic inspection of public repositories, which is useful. However, it does not mention whether the operation is read-only, requires authentication, has rate limits, or what side effects (e.g., network requests) may occur.

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?

Two sentences, front-loaded with the primary action and outcome. The second sentence provides a critical conditional behavior without excess. Every word earns its place, and it is well-structured for scanning.

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

Completeness3/5

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

The description explains the core dual-mode behavior but omits details about the generated roadmap structure, how to handle cases where both repo and profileRef are provided, and potential limitations (e.g., private repositories). Given the complexity of five parameters and nested options, the description is functional but not fully complete.

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 schema covers 80% of parameters, so the baseline is 3. The description adds semantic value beyond the schema by clarifying that the 'repo' parameter can also accept a GitHub profile URL and that the tool will automatically inspect public repositories in that case, which is not evident from the schema's parameter description alone.

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?

The description clearly states the tool analyzes a GitHub repository or user profile URL and generates a learning roadmap, using a specific verb and resource. It distinguishes itself by mentioning both repo and profile modes, though it does not explicitly differentiate from sibling tools like get_roadmap_signal.

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 when to use the tool (for repo or profile analysis) and mentions an automatic behavior for profile URLs, but it does not explicitly state when to prefer this over sibling tools like compare_profile_and_repository_skills or generate_evidence_cards. No exclusions or alternative tool names are provided.

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

compare_profile_and_repository_skillsB

Identify self-reported LinkedIn skills that do / do not have matching GitHub evidence in the selected repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesHTTPS GitHub URL or owner/repo identifier.
pathwayNoTarget pathway skill matrix.full-stack-developer
profileRefNo
useDemoLinkedInNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full behavioral burden. It does not disclose whether the tool is read-only, whether it mutates anything, whether it requires auth, or how it handles the 'selected repository' when evidence is missing. Crucial details like demo defaults or profile fetching are absent.

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?

The description is a single, well-structured sentence with no filler. It front-loads the core action and resource, covering the essential purpose without unnecessary detail. Every word adds value.

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

Completeness2/5

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

With no output schema and no annotations, the description is too sparse for a 4-parameter comparison tool. It does not explain what the output looks like, how evidence matching is determined, or what edge cases exist (e.g., missing profile, empty repo). Missing usage and behavioral guidance makes it incomplete for reliable invocation.

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

Parameters2/5

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

Schema coverage is 50% (only repo and pathway have descriptions). The tool description adds context by mentioning 'selected repository' and 'self-reported LinkedIn skills', but it does not clarify profileRef or useDemoLinkedIn, which have no schema descriptions. For a 4-parameter tool, this is insufficient compensation.

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 uses a specific verb ('identify') and clearly names the resources ('self-reported LinkedIn skills' and 'GitHub evidence in the selected repository'). This precisely differentiates the tool from siblings like get_linkedin_profile (which only fetches) and get_repository_snapshot (which only snaps repo). The 'do / do not have matching' phrasing explicitly signals a comparison task.

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 the tool is used when you need to compare LinkedIn skills against repo evidence, but it does not explicitly state when to use it vs. alternatives or any exclusions. No alternative tools are mentioned, so the agent must infer usage from the name and sibling context.

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

generate_evidence_cardsA

Return UI-ready evidence cards with highlights, summaries, sources, and next-step suggestions. Accepts an analysisId from a prior run, or an analysis object.

ParametersJSON Schema
NameRequiredDescriptionDefault
analysisNoOptional inline unified analysis result object.
analysisIdNoCached analysis id returned from analyze_evidence_profile.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses the output type (UI-ready cards) and its contents, and explains the two accepted input modes (ID or object). It avoids claiming read-only but implies a non-mutating generation. It could mention error handling, but the provided detail is solid.

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?

Two sentences, zero waste. The first sentence states the output, the second states the accepted inputs. Every word earns its place.

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 simple tool with 2 optional parameters and no output schema, the description adequately covers the return value and input modes. It lacks details on precedence if both inputs are provided or error handling, but given the low complexity, it is sufficiently complete.

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% for both parameters. The description adds value by clarifying that 'analysisId' and 'analysis' are alternative inputs ('or'), which is not explicit in the schema. This helps the agent choose the correct parameter.

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 tool's purpose: to return UI-ready evidence cards with specific components (highlights, summaries, sources, next-step suggestions). It distinguishes from siblings by focusing on post-analysis card generation rather than analysis or profile fetching.

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?

The sentence 'Accepts an analysisId from a prior run, or an analysis object' gives clear usage context: it should be used after an analysis is available. It implies this is the tool for turning analysis results into presentation-ready cards, though it does not explicitly compare to alternatives.

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

get_linkedin_profileB

Return user-authorized, normalized LinkedIn profile snapshot with declared skills, roles, education, certifications, and projects.

ParametersJSON Schema
NameRequiredDescriptionDefault
useDemoNoIf true, returns a normalized demo profile. Set false to attempt real LinkedIn connection.
profileRefNoOptional profile reference; uses demo profile by default in MVP.

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits itself. It mentions 'user-authorized' but fails to mention the demo mode default (useDemo=true) or that real data requires setting useDemo=false. This omission is significant because it could mislead an agent into thinking real LinkedIn data is always returned.

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?

The description is a single, well-structured sentence that front-loads the action and resource. It lists relevant content types without unnecessary detail or verbosity, making it efficiently concise.

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

Completeness2/5

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

While the tool has only 2 parameters and no output schema, the description omits the crucial demo-mode behavior and does not explain potential failures (e.g., lack of authorization). The 'user-authorized' claim conflicts with the default demo behavior, leaving a significant gap for an AI agent to select and invoke the tool correctly.

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 description coverage is 100%, so the schema fully explains both parameters (useDemo and profileRef). The description does add context about the output contents but does not elaborate on parameter meanings or edge cases, so it aligns with the baseline of 3.

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 tool returns a LinkedIn profile snapshot with specific content areas (skills, roles, education, certifications, projects). It uses a strong verb+resource structure and is distinct from sibling tools that analyze or compare data.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus siblings like analyze_evidence_profile or compare_profile_and_repository_skills. The description does not mention alternatives or exclusions, leaving usage context implied at best.

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

get_repository_snapshotA

Return a bounded, normalized repository snapshot (file tree, manifest, README, selected source content) without running the full analysis pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesHTTPS GitHub URL or owner/repo identifier.
branchNoOptional branch/ref. Defaults to repository default branch.
optionsNo

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description bears the transparency burden. It discloses that the snapshot is bounded and normalized, and that it skips the full analysis pipeline, which is useful. However, it does not explain what 'bounded' concretely means (e.g., maxFiles), how source content is selected, or any rate limits or side effects. This is a read-oriented tool, so the lack of destructive-warning detail is less critical, but more specificity would improve transparency.

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?

The description is a single, well-structured sentence that front-loads the primary action and key qualifiers. It earns its place by conveying the core purpose and the distinguishing contrast without unnecessary words.

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

Completeness3/5

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

Given the absence of an output schema and annotations, the description needs to explain both inputs and expected outputs. It lists snapshot components (file tree, manifest, README, selected source content) and notes boundedness, but is vague about what 'selected source content' means and what the return format looks like. For a tool with nested parameters and no output schema, this is adequate but leaves meaningful gaps.

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 67%—repo and branch have descriptions, while options does not. The description adds context by mentioning 'README' (relating to includeReadme) and 'bounded' (implying maxFiles), but it does not explicitly map these to the parameter names or explain the nested options structure. It adds some value but does not fully compensate for the missing schema description of options.

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 uses a specific verb 'Return' and clearly identifies the resource (a bounded, normalized repository snapshot) with concrete contents (file tree, manifest, README, selected source content). It also distinguishes itself from siblings by explicitly stating it runs 'without the full analysis pipeline,' which differentiates it from tools like analyze_evidence_profile.

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?

The description provides clear context for use: when a quick, bounded snapshot is needed instead of a full analysis pipeline. It implies a lighter-weight alternative but stops short of explicitly naming sibling tools or stating when not to use it. The 'without running the full analysis pipeline' gives strong contextual signal.

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

get_roadmap_signalA

Return verified/self-reported/partial/missing skill arrays plus the priority gap and a suggested next task from a prior analysisId or analysis object.

ParametersJSON Schema
NameRequiredDescriptionDefault
analysisNoOptional inline unified analysis result object.
analysisIdNoCached analysis id returned from analyze_evidence_profile.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It enumerates the returned data elements clearly, but it does not disclose behavior in error cases (e.g., invalid analysisId, absent parameters) or any potential side effects. This leaves some ambiguity, though the tool is read-oriented.

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?

The description is a single, information-dense sentence that front-loads the action and lists all key outputs without extraneous wording. It is concise and well-structured, earning a high score.

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 tool has only two optional parameters and no output schema, the description covers the primary purpose and return values. Minor gaps remain regarding behavior when both parameters are omitted and the exact structure of returned arrays, but the description is largely complete.

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% with each parameter having a description, so the baseline is 3. The description reinforces that either analysisId or analysis object serves as the source but does not add significant new meaning beyond the schema.

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?

The description clearly states the tool returns skill arrays (verified/self-reported/partial/missing), priority gap, and a suggested next task from a prior analysis. It specifies the source as an analysisId or analysis object, which distinguishes it from sibling tools like analyze_evidence_profile that likely create the analysis.

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 usage on a prior analysis, referencing 'a prior analysisId or analysis object,' but does not explicitly state when to use this tool versus alternatives or provide exclusions. The prerequisite of an existing analysis is implied but not detailed.

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. Dates show when Glama detected each change.

  1. 6 tool updatesv1.0.0
    • First observedanalyze_evidence_profile
    • First observedcompare_profile_and_repository_skills
    • First observedgenerate_evidence_cards
    • First observedget_linkedin_profile
    • First observedget_repository_snapshot
    • First observedget_roadmap_signal

TDQS

A3.7/5.0
Disambiguation4/5

Each tool targets a distinct resource or stage of the analysis pipeline. The only potential confusion is between generate_evidence_cards and get_roadmap_signal, both of which consume an analysisId but produce different outputs; the descriptions make this clear.

Naming Consistency4/5

All tool names follow a verb_noun pattern with underscores, which is consistent in style. The verbs vary (analyze, get, compare, generate) but are all action-oriented and the pattern is predictable.

Tool Count5/5

Six tools is well within the ideal range for a specialized server. Each tool has a clear role in the workflow, and none are redundant or redundant-feeling.

Completeness4/5

The server covers the full lifecycle from raw profile/repo input to analysis and actionable outputs. Minor gaps exist, such as no explicit 'get full analysis' tool or list of prior analyses, but the core workflow is complete.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    A calculator-focused MCP server template with tools, resources, and prompts built on NitroStack.
    22
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    A minimal NitroStack starter template with a calculator module including tools, resources, and prompts for learning MCP server fundamentals.
    4
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    A minimal MCP server template for learning NitroStack fundamentals, featuring a calculator module with tools, resources, and prompts.
    -
  • F
    license
    C
    quality
    C
    maintenance
    A minimal MCP server template for learning NitroStack fundamentals, featuring a calculator module with tools, resources, and prompts.
    9
    -

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/Godofdeath1709/pathpilot-mcp-server'

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