Skip to main content
Glama
akib-dabgar

Akib Dabgar MCP Server

by akib-dabgar

Akib Dabgar MCP Server

A production-ready, TypeScript-based Model Context Protocol (MCP) server built for Akib Dabgar. The server acts as a structured personal knowledge hub, allowing LLM clients (such as Claude Desktop, ChatGPT, Claude Code, and Codex) to query details about Akib's skills, experience, projects, education, and career aspirations.

To maximize context-window efficiency and execution speed, the server implements Dynamic Context Retrieval (DCR), selectively parsing and returning only relevant sections of Akib's profile knowledge base instead of dumping the entire profile into the context.


🚀 Features

  • Dynamic Context Retrieval (DCR): Implements keyword tokenization and weight-based section scoring to rank and retrieve only the most relevant headings/sections matching the query.

  • MCP Tools: Exposes a query_profile tool that takes natural language queries and returns optimized Markdown snippets.

  • MCP Resources: Maps all markdown files in the knowledge/ database to knowledge:// URIs, enabling client LLMs to read raw content when needed.

  • MCP Prompts: Exposes an akib_profile_assistant prompt that pre-loads system prompt instructions, response policies, and optional topic-specific retriever context.

  • TypeScript ESM Architecture: Clean, modular, typed codebase utilizing modern Node.js and ES Modules.


Related MCP server: Akib Dabgar MCP Server

📁 Folder Structure

├── knowledge/
│   ├── dcr/                 # DCR architecture specifications
│   │   ├── overview.md
│   │   ├── retrieval-strategy.md
│   │   ├── ranking-rules.md
│   │   ├── query-examples.md
│   │   ├── response-policy.md
│   │   └── limitations.md
│   ├── about.md             # Core bio, location, professional summary
│   ├── skills.md            # Technical and soft skills
│   ├── projects.md          # Akib's project history (ChainIT Pay, etc.)
│   ├── experience.md        # Work experience details (eSparkBiz)
│   ├── education.md         # Saurashtra University degree
│   ├── career-goals.md      # Professional goals
│   ├── interests.md         # Architecture, scalable systems, AI
│   └── faq.md               # Common questions & answers
├── src/
│   ├── retriever/
│   │   └── DynamicContextRetriever.ts # DCR query analysis and section ranking
│   ├── services/
│   │   └── KnowledgeService.ts        # Markdown loader and segment parser
│   ├── tools/
│   │   └── index.ts                   # Tool schema definitions and handlers
│   └── index.ts                       # Server entry point, transport & handlers
├── package.json
├── tsconfig.json
└── README.md                # Project documentation (this file)

🛠️ Getting Started

Prerequisites

  • Node.js (v18.0.0 or higher recommended)

  • npm (v9.0.0 or higher)

Installation

Clone the repository and install the dependencies:

npm install

Build

Compile the TypeScript codebase to the build/ directory:

npm run build

⚙️ Running the Server

Start the MCP Server on standard I/O (Stdio):

npm start

For development with hot-reloading:

npm run dev

🔌 Client Configuration

To connect this server to commonly used MCP clients:

1. Claude Desktop

Add the server configuration to your claude_desktop_config.json (located at %APPDATA%\Claude\claude_desktop_config.json on Windows or ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "akib-profile-server": {
      "command": "node",
      "args": [
        "d:/text/jpg/Projects/knowledge/build/index.js"
      ],
      "env": {}
    }
  }
}

2. Cursor IDE

  1. Open Cursor Settings -> Features -> MCP.

  2. Click + Add New MCP Server.

  3. Fill in the configuration:

    • Name: Akib Profile Server

    • Type: stdio

    • Command: node d:/text/jpg/Projects/knowledge/build/index.js

  4. Click Save.

3. Claude Code (CLI)

Add the server using the mcp command:

claude mcp add akib-profile-server node d:/text/jpg/Projects/knowledge/build/index.js

🔍 How to Test

Using the MCP Inspector

You can test the server interactively by running the MCP Inspector:

npx @modelcontextprotocol/inspector node build/index.js

Manual Verification via Stdio

You can verify the JSON-RPC interface by piping requests to stdin:

  1. List Tools:

    echo {"jsonrpc":"2.0","method":"tools/list","id":1,"params":{}} | node build/index.js
  2. Query Profile (DCR in action):

    echo {"jsonrpc":"2.0","method":"tools/call","id":2,"params":{"name":"query_profile","arguments":{"query":"What databases does Akib know?"}}} | node build/index.js
  3. List Prompts:

    echo {"jsonrpc":"2.0","method":"prompts/list","id":3,"params":{}} | node build/index.js
  4. Get Prompt:

    echo {"jsonrpc":"2.0","method":"prompts/get","id":4,"params":{"name":"akib_profile_assistant","arguments":{"topic":"skills"}}} | node build/index.js

💡 Architectural Highlights

  • Granular Parsing: KnowledgeService splits markdown files by headings, parsing them into indexable KnowledgeSection blocks. This ensures high-granularity DCR mapping.

  • Smart Token & Synonym Routing: DynamicContextRetriever tokenizes query keywords, strips stopwords, and uses a keyword-to-file boost matrix combined with bidirectional heading/content string matches.

  • Robust Path Security: Target resource URIs are normalized and restricted within the root knowledge/ directory to prevent directory traversal vulnerabilities.

Available Tools

1 tool
query_profileA

Query Akib Dabgar's professional profile, skills, experience, projects, or interests. Uses Dynamic Context Retrieval to return only the relevant sections matching the query.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe natural language question or keywords regarding Akib Dabgar (e.g., "What databases does Akib know?", "Tell me about ChainIT Pay").

TDQS

A4.1/5.0
Behavior3/5

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

The description mentions 'Dynamic Context Retrieval' and that it returns only relevant sections, disclosing a key behavioral trait. However, with no annotations provided, the description does not cover other behavioral aspects like auth needs, rate limits, or potential side effects, so it's only partially transparent.

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 two sentences long, with no redundant information. Every word contributes to clarity. It is front-loaded with the core purpose and efficiently adds behavioral detail.

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?

Given the tool's simplicity (one parameter, no output schema, no siblings), the description fully covers what the tool does and how it behaves. It explains the retrieval mechanism and the scope of results, making it complete for an AI agent to invoke correctly.

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 input schema already describes the 'query' parameter as a natural language question. The description adds concrete examples ('What databases does Akib know?', 'Tell me about ChainIT Pay'), which enhance understanding beyond the schema. Since schema coverage is 100%, the baseline is 3, and the examples justify a 4.

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 specifies the verb 'Query' and the resource 'Akib Dabgar's professional profile'. It lists the specific aspects queried (skills, experience, projects, interests), making the purpose unambiguous and distinct from any potential 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 usage for asking natural language questions about Akib Dabgar, but it provides no explicit guidance on when to use this tool versus alternatives or when not to use it. Since no sibling tools exist, the lack of exclusions is acceptable but still leaves room for improvement.

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. 1 tool updatev1.0.0
    • First observedquery_profile

TDQS

A4.1/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity. The single tool 'query_profile' has a distinct purpose.

Naming Consistency5/5

The single tool follows a clear verb_noun pattern ('query_profile') using snake_case, which is consistent and predictable.

Tool Count3/5

Having only one tool feels thin for a general-purpose server, but it is appropriate for the very narrow scope of querying a single individual's profile. It is borderline between reasonable and too few.

Completeness3/5

The tool only supports querying the profile. While this may be sufficient for the stated read-only purpose, the lack of any update, list, or other operations limits completeness compared to a typical resource toolset.

Maintenance

ActivitySlowing
ResponsivenessNo issues

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
    D
    maintenance
    A Model Context Protocol (MCP) server that exposes a professional profile — certifications, industry articles, open source contributions, and live GitHub activity — as a queryable API for AI agents.
    7
    11
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A personal MCP server that exposes your profile (bio, skills, projects, work experience) as structured tools for any MCP-compatible AI client, secured with OAuth 2.1 and Dynamic Client Registration.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server that provides a portable personal knowledge layer for AI tools, enabling cross-LLM continuity and personalized context across clients like Claude, ChatGPT, and Cursor.
    -

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/akib-dabgar/mcp-portfolio-server'

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