Skip to main content
Glama
thezaynahmed

Zain Ahmed Platform MCP Server

by thezaynahmed

Zain Ahmed Platform MCP Server

Official Model Context Protocol (MCP) server for Zain Ahmed's verified multi-cloud production systems, SRE blueprints, 5x cloud credentials, and FinOps advisory.

Smithery Registry npm version CI Status License: MIT MCP Protocol Live Platform

This server connects autonomous AI agents (Claude Code, Cursor, Windsurf, Roo Code, Antigravity) directly to Zain Ahmed's cloud engineering platform. It enables agents to inspect verified cloud architectures, calculate projected FinOps cost savings, search technical runbooks, and dispatch encrypted consultation inquiries.


Prerequisites

  • Node.js: >= 18.0.0

  • MCP Client: Claude Desktop, Cursor IDE, Windsurf, Roo Code, Antigravity, or any JSON-RPC 2.0 compliant host

  • Zero External Dependencies: Standalone stdio binary runs with pure Node.js built-ins


Related MCP server: ProofFlow MCP Server

Quickstart

1. 1-Click Installation via Smithery

Install automatically for your preferred AI client through Smithery:

Claude Desktop:

npx -y @smithery/cli install @zainahmed-net/mcp-server --client claude

Cursor IDE:

npx -y @smithery/cli install @zainahmed-net/mcp-server --client cursor

2. Manual Client Configuration

Client Configuration Matrix

Client / Environment

Support Type

Quick Configuration Command or File

Antigravity (CLI / 2.0 / IDE)

Stdio & SSE

agy mcp add or .agents/mcp.json

Claude Code

Stdio & HTTP

claude mcp add zainahmed -- ...

Claude Desktop

Stdio

claude_desktop_config.json

Cursor IDE

Stdio & SSE

.cursor/mcp.json

Codex (CLI & IDE)

Stdio & HTTP

codex mcp add or ~/.codex/config.toml

Warp Terminal

Stdio & HTTP

Settings > Agents > MCP or ~/.warp/mcp.json

Factory Droid

Stdio & HTTP

droid mcp add or ~/.factory/mcp.json

Superset (superset.sh)

Stdio & HTTP

.mcp.json workspace manifest

Remote Streamable HTTP

Universal SSE

https://zainahmed.net/mcp


Antigravity (CLI, Antigravity 2.0, & Antigravity IDE)

Workspace Configuration (Project-Scoped)

Create or update .agents/mcp.json at the root of your workspace:

{
  "mcpServers": {
    "zainahmed": {
      "command": "npx",
      "args": ["-y", "@zainahmed.net/sdk", "mcp"]
    },
    "zainahmed-remote": {
      "serverUrl": "https://zainahmed.net/mcp"
    }
  }
}
Global Configuration (Machine-Scoped)

Add to your global configuration file:

  • macOS / Linux: ~/.gemini/config/mcp_config.json

  • Windows: %USERPROFILE%\.gemini\config\mcp_config.json

{
  "mcpServers": {
    "zainahmed": {
      "command": "npx",
      "args": ["-y", "@zainahmed.net/sdk", "mcp"]
    }
  }
}
Antigravity CLI (agy) Quick Command
# Local stdio runner
agy mcp add zainahmed -- npx -y @zainahmed.net/sdk mcp

# Or hosted remote endpoint
agy mcp add zainahmed --url https://zainahmed.net/mcp

Claude Code

# Local stdio runner
claude mcp add zainahmed -- npx -y @zainahmed.net/sdk mcp

# Or hosted remote streamable HTTP
claude mcp add --transport http zainahmed https://zainahmed.net/mcp
Project Configuration (.mcp.json)

Add to your project root .mcp.json:

{
  "mcpServers": {
    "zainahmed": {
      "command": "npx",
      "args": ["-y", "@zainahmed.net/sdk", "mcp"]
    }
  }
}

Verify connection in your session by running /mcp or claude mcp list.


Claude Desktop

Add this configuration to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "zainahmed": {
      "command": "npx",
      "args": ["-y", "@zainahmed.net/sdk", "mcp"]
    }
  }
}

Or run the local repository binary directly:

{
  "mcpServers": {
    "zainahmed": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-server/bin/index.js"]
    }
  }
}

Cursor IDE

Add this to .cursor/mcp.json in your workspace or through Cursor Global Settings (Cursor Settings > Features > MCP):

{
  "mcpServers": {
    "zainahmed": {
      "command": "npx",
      "args": ["-y", "@zainahmed.net/sdk", "mcp"]
    }
  }
}

For hosted remote endpoints without local Node.js:

{
  "mcpServers": {
    "zainahmed": {
      "url": "https://zainahmed.net/mcp"
    }
  }
}

Codex (OpenAI Codex CLI & IDE)

CLI One-Liner
# Local stdio runner
codex mcp add zainahmed -- npx -y @zainahmed.net/sdk mcp

# Or hosted remote endpoint
codex mcp add zainahmed --url https://zainahmed.net/mcp
Configuration File (~/.codex/config.toml or workspace .codex/config.toml)

Add to your TOML configuration:

[mcp_servers.zainahmed]
command = "npx"
args = ["-y", "@zainahmed.net/sdk", "mcp"]

# Or hosted remote endpoint:
# [mcp_servers.zainahmed]
# url = "https://zainahmed.net/mcp"

Verify connection by running codex mcp list.


Warp Terminal

  1. Open Warp Settings (Cmd + , on macOS, Ctrl + , on Linux).

  2. Navigate to Agents > MCP servers and click Add.

  3. Fill in:

    • Name: zainahmed

    • Command: npx

    • Args: -y @zainahmed.net/sdk mcp

Configuration File (~/.warp/mcp.json or .warp/.mcp.json)
{
  "mcpServers": {
    "zainahmed": {
      "command": "npx",
      "args": ["-y", "@zainahmed.net/sdk", "mcp"]
    }
  }
}
Hosted Remote Endpoint
{
  "mcpServers": {
    "zainahmed": {
      "url": "https://zainahmed.net/mcp"
    }
  }
}

Factory Droid

Interactive Terminal

Type /mcp in your Droid session and select Add Custom Server.

CLI One-Liner
droid mcp add zainahmed https://zainahmed.net/mcp --type http
Configuration File (~/.factory/mcp.json)
{
  "mcpServers": {
    "zainahmed": {
      "type": "http",
      "url": "https://zainahmed.net/mcp"
    }
  }
}

Superset (superset.sh)

Superset is the multi-agent AI terminal and workspace. Add .mcp.json to your workspace root to make Zain Ahmed platform tools available across all terminal tabs and background agent loops:

{
  "mcpServers": {
    "zainahmed-operations": {
      "type": "http",
      "url": "https://zainahmed.net/mcp"
    },
    "zainahmed-docs": {
      "type": "http",
      "url": "https://zainahmed.net/mcp/docs"
    }
  }
}

Or run via local stdio:

{
  "mcpServers": {
    "zainahmed": {
      "command": "npx",
      "args": ["-y", "@zainahmed.net/sdk", "mcp"]
    }
  }
}

Remote Streamable HTTP (Universal / Zero Node.js Required)

If your client supports remote HTTP/SSE transports, connect directly to the hosted endpoints with zero local dependencies:

{
  "mcpServers": {
    "zainahmed-operations": {
      "url": "https://zainahmed.net/mcp"
    },
    "zainahmed-docs": {
      "url": "https://zainahmed.net/mcp/docs"
    }
  }
}

Available Tools

Tool Name

Mode

Arguments

Description

get_profile

Read

section (optional)

Returns verified platform profile, certifications, and contacts.

get_skills

Read

category (optional)

Returns competency matrices across cloud, containers, devsecops, and mlops.

get_certifications

Read

None

Returns verified credentials across AWS, Azure, GCP, and OCI.

get_projects

Read

category (optional)

Lists enterprise case studies, tech stacks, and quantifiable business outcomes.

get_articles

Read

tag (optional)

Lists technical publications, SRE blueprints, and architectural RFCs.

search_knowledge_base

Read

query (required)

Full-text semantic search across case studies and architecture documentation.

get_services

Read

tier (optional)

Returns advisory consulting retainers, fractional scopes, and service tiers.

calculate_finops_roi

Read

monthlyCloudSpend (req)

Computes projected 30% to 40% cost reductions from Karpenter, spot, and Graviton.

submit_contact

Write

name, email, message

Dispatches an encrypted engineering inquiry directly to Zain Ahmed.

search_docs

Read

query (required)

Searches system runbooks, API guides, and versioning specifications.

get_documentation_page

Read

slug (required)

Retrieves full markdown documentation for any platform topic or API guide.


Example Agent Prompts

Once configured, AI coding assistants can answer technical queries using live server data:

  • "What multi-cloud certifications does Zain Ahmed hold, and what are their verification IDs?"

  • "Calculate our estimated monthly cloud savings if our current AWS spend is $45,000/month."

  • "Search Zain's knowledge base for production Karpenter nodepool and autoscaling patterns."

  • "Retrieve the architectural case study on the multi-tenant Kubernetes platform migration."

  • "Dispatch a message to Zain requesting an architectural review for our Terraform migration."


Interactive Zero-Mutation Sandbox

For non-mutating evaluations and test runs, point inquiries to the interactive sandbox:

Sandbox requests return authentic RFC 9457 responses with simulated reference IDs without triggering real-world emails or webhooks.


Local Development & Testing

1. Clone Repository

git clone https://github.com/thezaynahmed/mcp-server.git
cd mcp-server

2. Verify Syntax

node --check bin/index.js

3. Test MCP Handshake via Stdio

Send a standard JSON-RPC 2.0 initialization payload:

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node bin/index.js

Repository Structure

.
├── .github/workflows/ci.yml   # GitHub Actions automated syntax and lint check
├── .well-known/agent-plugins/ # Mirror of agent-plugins.org manifest
├── bin/
│   └── index.js               # Standalone executable MCP stdio server
├── AGENTS.md                  # Comprehensive AI coding agent instructions
├── .cursorrules               # Cursor IDE rules for MCP integration
├── plugin.json                # Agent-plugins.org discovery manifest
├── smithery.yaml              # Smithery 1-click registry descriptor
├── package.json               # Package metadata and bin declaration
├── LICENSE                    # MIT License
└── README.md                  # Project documentation & integration guide


License

This project is licensed under the MIT License. See the LICENSE file for details.


Last reviewed: September 2026

Available Tools

11 tools
calculate_finops_roiA
Read-only

Calculate estimated cloud cost savings and ROI from Karpenter container bin-packing, spot orchestration, and Graviton migration.

ParametersJSON Schema
NameRequiredDescriptionDefault
cloudProviderNoCloud provider (AWS, GCP, Azure, OCI)
monthlyCloudSpendYesCurrent monthly cloud spend in USD

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds the word 'estimated,' signaling that this is a calculation rather than a live billing query, but it does not disclose assumptions, limitations, or what data feeds the estimate.

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 front-loads the action and outcome, with no filler or redundancy. Every phrase contributes meaning, and the jargon is appropriate to the tool's domain.

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 what the tool calculates but does not describe the return value or output shape, and there is no output schema to compensate. For a tool with only two parameters this is not fatal, but an agent would benefit from knowing what form the ROI estimate takes.

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 both cloudProvider and monthlyCloudSpend are already documented structurally. The description does not add extra parameter-level meaning such as required inputs, allowed provider values, or how monthlyCloudSpend factors into the calculation.

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 ('Calculate') with a specific resource ('estimated cloud cost savings and ROI') and names the exact mechanisms involved (Karpenter bin-packing, spot orchestration, Graviton migration). It is clearly distinct from the sibling tools, which are all skills/profile/content tools.

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 implies when this tool is relevant: when a user wants FinOps/ROI estimates for Karpenter, spot, or Graviton. It does not explicitly state when not to use it or name alternatives, but the sibling tools are unrelated enough that confusion is unlikely.

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

get_articlesB
Read-only

List in-depth architectural publications, SRE blueprints, and systems engineering deep dives.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoFilter articles by topic tag (e.g. 'kubernetes', 'soc2', 'finops', 'ai')

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the article types returned but does not disclose ordering, pagination, or filtering behavior beyond what the schema already provides.

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. It states the verb and resource immediately, and every word contributes to the tool's meaning.

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 list tool with one optional filter and safe-read annotations, the description is generally sufficient. It does not describe response shape or tag behavior, but no output schema exists and the resource type is clear.

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?

The schema fully documents the single optional tag parameter with examples, so schema description coverage is 100%. The description does not add parameter-level meaning, which meets the baseline for a well-covered 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 uses a clear verb ('List') and a specific resource ('in-depth architectural publications, SRE blueprints, and systems engineering deep dives'), making the tool's purpose understandable. It does not explicitly differentiate from siblings like search_knowledge_base or search_docs, but the resource types are distinct enough.

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?

There is no guidance on when to use get_articles versus alternatives such as search_knowledge_base, search_docs, or other sibling tools. The word 'List' implies a browse/retrieval use case, but no exclusions or alternative recommendations are provided.

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

get_certificationsA
Read-only

Retrieve verified 5x multi-cloud credentials, badge verification URLs, and credential IDs across AWS, Azure, GCP, and OCI.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is known to be safe. The description adds that credentials are verified and includes badge verification URLs and IDs, which is useful context. However, it does not mention any limitations such as pagination or data freshness.

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

Conciseness4/5

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

The description is one sentence, front-loaded with the key action ('Retrieve verified 5x multi-cloud credentials') and includes specifics. It is concise and free of fluff.

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, parameterless tool with annotations covering safety, the description is sufficiently complete. It specifies the content (credentials, URLs, IDs) and scope (multi-cloud). There is no output schema, but the description provides a clear sense of what to expect.

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?

With zero parameters, the schema provides no parameter information. The description clarifies what the tool returns (verification URLs, IDs) but doesn't need to explain parameters. Since there are no parameters, the description adequately compensates.

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 retrieves verified multi-cloud credentials, including badge verification URLs and credential IDs, specifying the cloud providers (AWS, Azure, GCP, OCI). It distinguishes from siblings like get_skills or get_projects by focusing on certifications specifically, though it doesn't explicitly differentiate from potential certification-related 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?

The description implies the tool is used when certification data is needed, but does not explicitly state when to use it over alternatives. Sibling names like get_skills and get_profile suggest related but different purposes, yet no explicit guidance is provided.

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

get_documentation_pageA
Read-only

Retrieve full documentation content and guides for a specific platform topic.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesDocumentation page slug

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds only mild context by stating the result is 'full documentation content and guides,' but does not disclose return format, pagination, or any other behavioral traits.

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 sentence that front-loads the verb and object, with no redundant filler. Every word contributes to explaining what the tool does.

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 one-parameter, read-only retrieval tool with a closed enum and no output schema, the description is mostly sufficient. It could be more complete by saying the output is the page content rather than a summary, and by distinguishing itself from search_docs.

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 slug parameter has a full enum of valid values plus a basic description, so the schema carries the meaning. The description's phrase 'specific platform topic' loosely maps to slug but adds no additional parameter semantics.

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 states a clear verb and resource: it retrieves full documentation content for a specific platform topic, which is distinct from a vague search action. However, it does not explicitly contrast itself with sibling search_docs, so the differentiation is left mostly to the tool name and schema.

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 for fetching a known documentation page rather than searching for one, but it never states when to prefer this tool over search_docs or search_knowledge_base. No exclusions or explicit alternative routing are provided.

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

get_profileB
Read-only

Retrieve Zain Ahmed's verified professional profile, 5x multi-cloud credentials (AWS, Azure, GCP, OCI, HashiCorp), location, philosophy, and competencies.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionNoFilter section: all, bio, credentials, certifications, principles, contacts

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read-only behavior is covered. The description adds context about what the profile contains (credentials, location, philosophy, competencies), but does not disclose additional behavioral traits such as filtering behavior, response format, or whether data is static versus dynamic.

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 concise, front-loaded sentence with no filler. It immediately names the verb and resource, then compactly lists the key profile components, making it easy for an agent to parse quickly.

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 read-only getter with one optional parameter, the description adequately conveys whose profile is returned and the major content areas. It does not mention the 'contacts' section from the schema or explicitly explain how the section filter behaves, but the schema covers the filter and the overall tool is low-complexity.

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%, and the only parameter, 'section', already has an enum plus a description. The tool description adds no parameter-specific meaning beyond naming broad content categories, so it does not improve on 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 identifies the resource ('Zain Ahmed's verified professional profile') and the action ('Retrieve'), and it lists several content areas. It does not explicitly distinguish itself from siblings like get_certifications or get_skills, though the term 'profile' implies an aggregate view.

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?

The description provides no guidance on when to use this tool versus alternatives such as get_certifications, get_skills, or search_knowledge_base. There are no exclusions or conditional recommendations, so the agent must infer usage from the tool name and siblings.

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

get_projectsA
Read-only

List verified enterprise cloud architecture case studies, client domains, tech stacks, and quantifiable business outcomes.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category: all, cloud-architecture, devsecops, ai-ml, finops

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that it returns verified case studies and associated details, but does not disclose any further behavioral traits such as pagination, filtering limits, or ordering. With annotations handling safety, the description provides a moderate amount of context beyond them.

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 core action and resource. Every word earns its place, and there is no redundant information or filler.

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 list operation with one optional parameter and no output schema, the description covers the essential return content (case studies, domains, stacks, outcomes) and the 'verified' qualifier. The annotations cover safety, so nothing critical is missing for an agent to invoke it 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?

The schema has 100% coverage for the single 'category' parameter, including an enum and description. The tool description adds no additional meaning beyond the schema, so it meets the baseline of 3 for high schema coverage.

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 ('List') and a precise resource ('verified enterprise cloud architecture case studies, client domains, tech stacks, and quantifiable business outcomes'). It clearly distinguishes from sibling tools like get_skills, get_profile, and get_certifications, and even clarifies the scope as enterprise cloud architecture, which differentiates from broader knowledge-base searches.

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?

The description gives no explicit guidance on when to use this tool versus alternatives like search_knowledge_base or get_services. It does not state any exclusions, prerequisites, or typical use cases beyond the bare listing of projects, leaving the agent to infer suitability from the description alone.

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

get_servicesA
Read-only

Retrieve platform engineering advisory retainers, fractional leadership tiers, deliverables, commitments, and transparent rates.

ParametersJSON Schema
NameRequiredDescriptionDefault
tierNoFilter by engagement model

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is covered. The description adds the specific types of data retrieved (retainers, tiers, deliverables, etc.), which provides context beyond the annotation. However, it does not disclose any behavioral aspects like pagination, rate limits, or default filtering behavior. With annotations covering safety, a 3 is appropriate.

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 sentence, front-loads the verb, and enumerates the content types without redundancy. It is concise and to the point, with no filler.

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 retrieval tool with one optional parameter and annotations covering safety, the description is largely complete. It lists the data types returned, and the schema handles the filter parameter. It does not explicitly mention the filtering capability, but the schema does, so nothing critical is missing. A minor gap is the lack of return format details, but no output schema exists and the tool is straightforward.

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% – the tier parameter is fully described in the schema ('Filter by engagement model') with an enum. The description does not add any extra meaning about the parameter or its values. Since the schema already documents it, the baseline of 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?

The description clearly states the verb 'Retrieve' and the resource (platform engineering advisory retainers, fractional leadership tiers, deliverables, commitments, transparent rates). This is specific and distinct from sibling tools like get_skills, get_profile, and get_certifications, which cover different domains.

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 tool name and description – it is for retrieving services data. There is no explicit mention of when to use this over other tools, nor any exclusions. Since the purpose is self-evident and siblings are clearly separate topics, implied usage is acceptable, but it lacks explicit routing guidance.

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

get_skillsA
Read-only

Retrieve complete categorised multi-cloud, Kubernetes, DevSecOps, IaC, and MLOps competency matrices with production seniority ratings.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter category: all, cloud, containers, devsecops, iac, mlops

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context about the content and structure of the result (categorised matrices with seniority ratings) but discloses no additional behavioral traits like default category behavior, pagination, or response format.

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 one information-dense sentence with no filler. The action and object are front-loaded, and every phrase ('categorised', 'production seniority ratings') contributes to understanding the returned data.

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 zero-required-parameter, read-only retrieval tool with high schema coverage, the description is sufficient. It names the returned artifact, lists the relevant domains, and is easily understood in context with the sibling tools and annotations.

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?

The schema documents the single optional 'category' parameter with a full enum and descriptions, so schema coverage is 100%. The description restates the category themes but adds no extra meaning beyond the schema, such as default behavior when 'all' is used.

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 ('Retrieve') and a clearly defined resource: categorised competency matrices across cloud, Kubernetes, DevSecOps, IaC, and MLOps. This distinguishes it from siblings like get_certifications or get_profile, which cover different resource types.

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 this tool is for fetching skills/competency data, but it gives no explicit guidance on when to choose it over alternatives such as get_certifications or search_knowledge_base. There are no exclusions or alternative-routing hints.

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

search_docsA
Read-only

Full-text search across all documentation, architectural blueprints, API guides, and system runbooks.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesKeyword or phrase to search for

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds the scope of the search but does not disclose behavior such as whether results are ranked, paginated, or limited. This is acceptable for a simple read-only search tool but not especially rich.

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 front-loaded sentence with no filler. It names the action and the full resource scope efficiently, and every word contributes to understanding the tool.

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 low-complexity tool with one required parameter and safe-read annotations, the description is largely sufficient. It does not explain the return format, but with no output schema and a simple search tool this is a minor gap; the main missing piece is any clarification relative to search_knowledge_base.

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 query parameter is already documented as 'Keyword or phrase to search for'. The description does not add extra parameter-level guidance, but it does not need to given the high schema coverage.

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 action ('Full-text search') and clearly identifies the resource scope ('all documentation, architectural blueprints, API guides, and system runbooks'). This distinguishes it from sibling tools like get_documentation_page and suggests broader coverage than search_knowledge_base.

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: when a full-text search across documentation sources is needed. However, it gives no explicit guidance about when not to use it or how it relates to search_knowledge_base, leaving the choice between those siblings to inference.

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

search_knowledge_baseA
Read-only

Full-text search across all case studies, architecture articles, developer documentation, and platform capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keyword or phrase

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description need not restate safety. It adds useful scope context about what content is searched, but does not disclose result behavior such as ranking, pagination, snippet format, or limitations.

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 states the verb ('search'), the breadth ('full-text'), and the resources covered with no filler or 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?

For a simple one-parameter search tool, the description plus read-only annotations provide enough context to invoke it. It omits result format and pagination details, but those are less critical for a simple search tool with no output schema.

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 query already described as 'Search keyword or phrase.' The description's 'full-text' wording adds mild nuance that matching occurs across the full text of content, but it does not significantly extend 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 names a specific action ('full-text search') and a clear resource scope (case studies, architecture articles, developer documentation, platform capabilities). It does not explicitly differentiate itself from sibling tool search_docs, but the breadth of covered content makes its purpose reasonably distinct.

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: when a free-form search across multiple knowledge content types is needed. However, it provides no explicit guidance on when not to use it or which sibling tool (e.g., search_docs, get_articles) to choose instead.

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

submit_contactA

Dispatch an encrypted engineering inquiry or consultation request directly to Zain Ahmed with tracking reference ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSender name
emailYesSender email
companyNoCompany or organization name
messageYesDetailed inquiry message
subjectNoTopic or inquiry subject

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate this is a non-read-only, non-destructive operation. The description adds useful behavioral context such as encryption and a tracking reference ID, but it does not clarify side effects, confirmation behavior, or how the tracking reference is returned. No contradiction with annotations exists.

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 sentence that front-loads the action and object while including the recipient and added value of tracking. There is no redundant wording or unnecessary filler.

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 low-complexity contact submission tool, the description captures purpose, recipient, encryption, and tracking reference ID. It does not explicitly explain the response format or confirmation behavior, which prevents a perfect score, but the overall context is sufficient for an agent to use it 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?

The input schema has 100% parameter description coverage, so the baseline is 3. The tool description adds no field-specific meaning beyond what the schema already provides, but it does not need to since each parameter is already documented.

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, 'Dispatch,' and clearly identifies the resource: an engineering inquiry or consultation request sent to Zain Ahmed with a tracking reference ID. This makes the tool's purpose immediately understandable and distinct from the read-only sibling tools like get_skills and search_knowledge_base.

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 clearly states the intended use case: sending an engineering inquiry or consultation request. It does not explicitly name alternatives or exclusion criteria, but the context is strong enough to guide an agent toward this tool for contact/submission tasks.

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. 11 tool updatesv1.0.0
    • First observedcalculate_finops_roi
    • First observedget_articles
    • First observedget_certifications
    • First observedget_documentation_page
    • First observedget_profile
    • First observedget_projects
    • First observedget_services
    • First observedget_skills
    • First observedsearch_docs
    • First observedsearch_knowledge_base
    • First observedsubmit_contact

TDQS

A3.7/5.0

Scored across 11 tools

Disambiguation3/5

Most tools are clearly distinct by resource type, but search_knowledge_base and search_docs have heavily overlapping scopes, and get_articles/get_documentation_page could be confused. Descriptions help resolve most ambiguities, but the search tool redundancy creates real selection risk.

Naming Consistency4/5

The naming pattern is largely consistent with get_* for retrieval, search_* for search, and single action verbs for calculate/submit. Minor inconsistencies like search_docs vs search_knowledge_base and calculate_finops_roi not following a common verb prefix are small deviations from an otherwise clear scheme.

Tool Count4/5

Eleven tools is reasonable for a personal platform covering profile, portfolio, services, documentation, search, ROI calculation, and contact. The count is not excessive, though the two overlapping search tools could be consolidated to make the surface tighter.

Completeness4/5

The server covers the main informational and engagement needs: profile, skills, certifications, projects, articles, services, documentation, ROI estimation, and contact. Minor gaps exist, such as no dedicated article detail retrieval action or project detail action, but agents can likely work around these via search and documentation tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables enterprise AI agents to query governed data lineage, PII-aware schema documentation, and semantic metadata from SQL logs via MCP, with role-based access and vector search.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to query multi-cloud costs, inventory, waste, and commitments across AWS, GCP, Cloudflare, and OVH through read-only MCP tools.
    Apache 2.0