Skip to main content
Glama
AdiRatnam

AI-Project-Planner-Agent

by AdiRatnam

AI Project Feasibility & Solution Planner Agent

An MCP-based AI agent that evaluates an AI project idea using structured reasoning stages. The project focuses on reasoning quality, prompt engineering, structured outputs, and clean logs using the Gemini API (optimized for Free Tier).

Screenshots

Related MCP server: Gemini DeepSearch MCP

Architecture

The project consists of a FastMCP server and a client interacting with the Gemini 2.5 Flash model.

  • Client (client.py): Prompts the user for a project idea, communicates with the Gemini model, routes tool calls to the MCP server, and formats the output cleanly using the Rich library.

  • Server (server.py): A FastMCP server exposing a research_topic tool that uses DuckDuckGo Search to fetch up-to-date web information.

  • Models (models/reasoning_models.py): Pydantic models ensuring structured JSON outputs for all 7 reasoning stages.

  • Reasoning: Evaluates the idea through 7 structured stages:

    1. Problem Understanding

    2. Requirement Analysis

    3. Complexity & Constraint Analysis

    4. Research Decision (Calls MCP tool only if needed)

    5. Technology Recommendation

    6. Risk & Roadmap

    7. Final Report

Folder Structure

s5 - AI Project Planner Agent/
│
├── server.py               # FastMCP server exposing the research_topic tool
├── client.py               # Main client application handling Gemini interactions
├── prompts/
│   └── system_prompt.md    # System prompt guiding the reasoning stages
├── tools/
│   └── research_tool.py    # Implementation of web search logic
├── models/
│   └── reasoning_models.py # Pydantic models for structured outputs
├── README.md               # Project documentation
└── pyproject.toml          # uv configuration

Installation

This project uses uv for lightning-fast dependency management.

# Sync dependencies
uv sync

(If initializing from scratch):

uv init
uv add google-genai mcp fastmcp pydantic rich duckduckgo-search python-dotenv

Environment Variables: Create a .env file in the root directory and add your Gemini API key (ensure .env is listed in your .gitignore!):

GEMINI_API_KEY="your_api_key_here"

Usage

You do not need to run the server separately. The client automatically spawns the MCP server over stdio using uv.

Running the Client

uv run client.py

Example User Prompts

I want to build an AI-powered crop disease detection system.
I want to build an AI-powered exam proctoring system.

Prompt Evaluation Workflow

The system prompt is isolated in prompts/system_prompt.md. You can freely evaluate and refine the instructions in this file without modifying any application logic. Ensure that changes in the prompt still instruct the model to produce the 7 required reasoning stages matching the Pydantic models. This project is verified against prompt_checker.md for explicit reasoning instructions, internal self-checks, and fallback plans.

Example Logs

Welcome to the AI Project Planner Agent
Enter your project idea: I want to build an AI-powered exam proctoring system.

Connecting to MCP Server...
Reasoning about your project...

Agent decided to research: research_topic(...)

==================================================

Stage – Problem Understanding

Goal
Understand the user's project

Analysis
AI-powered exam monitoring.

Reasoning Summary
Computer vision + authentication.

Reasoning Type
analytical

Self Check
Did I assume the user has access to a webcam? Yes, need to clarify.

Status
Completed

==================================================

... (Repeat for all 7 stages) ...

==================================================

MISSION COMPLETE

Available Tools

1 tool
research_topicA
Search the web for information regarding a specific topic.
Use this tool when you need up-to-date information, technical details, or domain knowledge that you don't possess.

Args:
    query: The search query.
    
Returns:
    A string containing the search results summarized.
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 burden of behavioral disclosure. It discloses that the tool returns a string of summarized search results, which gives basic insight into the operation. However, it lacks details on potential limitations, source reliability, or response behavior beyond the summary, leaving gaps in 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 extremely concise, with the core action in the first sentence and a brief Args/Returns structure. It contains no filler, and every sentence serves a purpose, making it well-structured and easily scannable.

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's simple nature (one parameter, string return), the description covers the essential aspects: what it does, when to use, and what it returns. However, it does not elaborate on the nature of the 'summarized' results or any potential limitations, which would enhance completeness, but for a straightforward web search tool, it is largely sufficient.

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 only defines a single 'query' parameter with no description, so the description must compensate. The description provides a minimal definition: 'query: The search query.' This adds some semantic clarity but essentially restates the parameter name without specifying query format or constraints, making it only marginally helpful.

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 function with a specific verb ('Search the web') and resource ('a specific topic'), and adds context about when the information is needed (up-to-date, technical details). While there are no sibling tools to differentiate from, the purpose is unambiguous.

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 explicitly states when to use the tool: 'Use this tool when you need up-to-date information, technical details, or domain knowledge that you don't possess.' It provides clear context for invocation, though it does not mention exclusions or alternatives, which is acceptable given no sibling tools exist.

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 updatev0.1.0
    • First observedresearch_topic

TDQS

A3.8/5.0
Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools. The tool's purpose is clearly defined and distinct.

Naming Consistency5/5

The single tool name follows a clear verb_noun pattern and is unambiguous. There are no conflicting conventions.

Tool Count2/5

With only one tool, the server is far too thin for the stated purpose of an AI project planner, which would require multiple tools for planning and management.

Completeness1/5

The server only supports research, leaving out all planning, task management, and workflow tools that would be essential for an AI project planner agent.

Maintenance

ActivityMaintained
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

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/AdiRatnam/AI-Project-Planner-Agent'

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