← Back to the problem

The builder's path

Five steps from a problem to its solution.

For: Python developers building MCP tools lose their argument descriptions, so the model never sees them.

“The unexamined life is not worth living.”

ὁ δὲ ἀνεξέταστος βίος οὐ βιωτὸς ἀνθρώπῳ

Socrates · Plato, Apology 38a

Routes to a solution

Six ways to take this forward

Each route is a different kind of journey, with real people and organisations to contact at each step, starting with those in every country.

  1. Step 1

    Build in the open

    Publish the code and invite contributors from the community.

  2. Step 2

    Fund the maintainers

    Sponsors, collectives and open source grants.

  3. Step 3

    Get it adopted

    Civic tech groups and public bodies take it up.

What this problem needs

Ideas, sources and tools for this problem, from first interviews to funding.

  • Automation
  • Open data

Ideas to explore

  • Idea 1griffe-based parserUse griffe to parse the docstring, then copy each parameter description into the pydantic model's field description before the schema is generated.
  • Idea 2Zero-dependency Google style firstSupport only Google style with a small parser and clear tests, and leave other styles for a follow-up.

Specific to this problem

Talk to first

Starter prompt

Built from this problem's brief. Paste it into Claude or any AI assistant.

Help me design and build a first working prototype for this problem in Anywhere.

Problem: Python developers building MCP tools lose their argument descriptions, so the model never sees them.
Who it hurts: Developers who write tools for AI agents with the Model Context Protocol (MCP) Python SDK's FastMCP.
The moment it hurts: When an agent picks the wrong tool or passes the wrong argument because the schema only lists names and types.
What people do today: Developers write argument descriptions in docstrings, but FastMCP builds the schema from type hints only.
Why it is still unsolved: Maintainers have not decided whether to require one docstring style or add a parsing library as a dependency.
What solved looks like: A pull request that fills each argument's description in the tool schema from Google, NumPy or Sphinx style docstrings, leaves the schema unchanged when there is no docstring, and has tests for each style.
Where: Anywhere

First, list what you would need to learn from the people affected before building, as interview questions.
Then propose the simplest version that would help, the screens or messages it needs, and the data it would use.
Keep it cheap to run, accessible, and respectful of people's privacy. Flag anything you are unsure about instead of guessing.
  1. Understand it

    Talk to the people who live it before you build.

    “Lead me from the unreal to the real, from darkness to light.”

    असतो मा सद्गमय। तमसो मा ज्योतिर्गमय।

    asato mā sad gamaya, tamaso mā jyotir gamaya

    Bṛhadāraṇyaka Upaniṣad · 1.3.28
  2. Prototype with AI

    Get a working version in front of people fast.

    Using AI is not cheating. Every tool carries the work of the people who made it, and using it well is how knowledge has always moved forward. The thinking, the care for the people who live the problem, and the judgement are still yours.

    “The Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves.”
    Ada Lovelace · Notes on Menabrea's Sketch of the Analytical Engine, Note A (1843)
  3. Find the data

    Open data that fits this problem.

    “In the fields of observation chance favours only the prepared mind.”

    Dans les champs de l'observation le hasard ne favorise que les esprits préparés.

    Louis Pasteur · lecture at the University of Lille, 7 December 1854
  4. Build it

    Tools matched to what this problem needs.

    “Tasks are achieved by effort, not by wishing.”

    उद्यमेन हि सिध्यन्ति कार्याणि न मनोरथैः

    udyamena hi sidhyanti kāryāṇi na manorathaiḥ

    Hitopadeśa · Introduction
  5. Launch and get support

    Ship it responsibly, and find help and funding.

    “Act, keeping in view the welfare of the world.”

    लोकसंग्रहमेवापि सम्पश्यन्कर्तुमर्हसि

    lokasaṅgraham evāpi sampaśyan kartum arhasi

    Bhagavad Gītā · 3.20

Kit written for this problem from its brief; every link was checked. Links go to each provider's own site. Zetema is not paid for any listing.