> All I see is just disrespect in your response to others sharing
experiences.

I honestly think it's more a (mis)communication issue than disrespect -
let's not start flame wars but try to discuss things in an open way. I

 personally did not feel any "disrespect" -  more of a different
understanding of things (which is very easy over email).
I think we all have good intentions here, and ego's are not playing a role
here and try to patiently explain what's our point of view - even if it is
difficult for others to grasp.

J.

On Sat, Oct 18, 2025 at 10:39 PM Josef Šimánek <[email protected]>
wrote:

> so 18. 10. 2025 v 8:22 odesílatel Avi via dev <[email protected]>
> napsal:
> >
> > Hi All,
> >
> > Respectfully, I beg to differ.
>
> All I see is just disrespect in your response to others sharing
> experiences.
>
> > Jarek, dismissing MCP as “just a REST wrapper” misses the point: the
> *only*
> > way an agent can safely touch Airflow today is via the same RBAC-governed
> > REST we already ship. Calling that a weakness is backwards—it’s the
> > guarantee.
> >
> > Josef, “just use the CLI” is fantasy outside a laptop. Production Airflow
> > lives behind Helm, Ingress, service-mesh and audit logs. Handing an LLM a
> > kube-exec shell annihilates every one of those controls and leaves zero
> > audit trail.
>
> I have never written "just use the CLI", I have shared that for my use
> case of local development (of Airflow and dags) I had success using
> CLI. I just shared my experience.
>
> > And waving “Claude Skills” as the future ignores every OSS, on-prem and
> > multi-model deployment that will never see Anthropic. If Airflow wants to
> > stay relevant to *all* users, a small, opt-in MCP shim over the existing
> > API is the minimal, secure, vendor-neutral step.
> >
> > Before we crown any single approach, let’s ask the community and
> customers
> > how they actually want AI to help them—then build the thinnest, safest
> > bridge that satisfies those needs, whether that’s MCP, CLI wrappers, or
> > something else entirely. Until then, wrapper over REST with streamable
> HTTP
> > method is the safest bet.
> >
> > - Avi
> >
> > On Fri, Oct 17, 2025 at 10:30 PM Ferruzzi, Dennis <[email protected]>
> > wrote:
> >
> > > To add wood to this fire... I'll take this to a different thread if you
> > > want, but it's mostly-related.  Has anyone tried a local NotebookLM
> > > instance with access to the Airflow repo?  I know the main theme of
> this
> > > thread if a user-facing LLM that can answer questions about their
> > > environment but I've been thinking of a dev-facing tool with access to
> the
> > > codebase for questions like "show me where we decide which executor to
> send
> > > a task to" or whatever.  NotebookLM seems to be a tool specifically
> > > designed for aggregating data across many files with optimized search
> and
> > > correlation algorithms and may be super handy.
> > >
> > >
> > >  - ferruzzi
> > >
> > >
> > > ________________________________
> > > From: Jarek Potiuk <[email protected]>
> > > Sent: Thursday, October 16, 2025 9:13 PM
> > > To: [email protected]
> > > Subject: RE: [EXT] [DISCUSS] Apache Airflow official MCP Server
> > >
> > > CAUTION: This email originated from outside of the organization. Do not
> > > click links or open attachments unless you can confirm the sender and
> know
> > > the content is safe.
> > >
> > >
> > >
> > > AVERTISSEMENT: Ce courrier électronique provient d’un expéditeur
> externe.
> > > Ne cliquez sur aucun lien et n’ouvrez aucune pièce jointe si vous ne
> pouvez
> > > pas confirmer l’identité de l’expéditeur et si vous n’êtes pas certain
> que
> > > le contenu ne présente aucun risque.
> > >
> > >
> > >
> > > czw., 16 paź 2025, 13:07 użytkownik Josef Šimánek <
> [email protected]
> > > >
> > > napisał:
> > >
> > > > čt 16. 10. 2025 v 13:02 odesílatel Jarek Potiuk <[email protected]>
> > > napsal:
> > > > >
> > > > > I think we are in a bit different place than in June. I think
> there are
> > > > > many more cases where MCP cases have quite a bit "matured" and I
> was
> > > > going
> > > > > here and there (including some discussions on MCP during the
> Airflow
> > > > > Summit) - so let me add what I think now.
> > > > >
> > > > > 1) Yep, I think eventually it would be great to have an MCP server
> of
> > > > sorts
> > > > > with basic features and use cases built-in Airflow. I think we can
> > > likely
> > > > > come up with some usages that should be quite common and if we
> allow
> > > > people
> > > > > to extend their MCP in the way that they deem appropriate, that
> could
> > > be
> > > > a
> > > > > major win for the community in general
> > > > > 2) The OpenAPI -> MCP direct translation is likely not too good
> idea.
> > > The
> > > > > thing with directly using existing APIs designed for "REST" kind of
> > > > > protocol is quite a bit too chatty for LLMs. You either need a
> layer on
> > > > top
> > > > > of the REST API for the LLM to make less number of "calls", or make
> > > > > specific APIs that do more things together than just single API
> calls.
> > > > One
> > > > > of the issues is performance, another excessive token usage by
> agents
> > > if
> > > > > the API is too fine-grained. I likely mean separate LLM-specific
> API.
> > > > > 3) If we follow the "develop our MCP" route - we should likely
> start
> > > with
> > > > > Personas and Actions - typical use cases where we think MCP server
> > > could
> > > > be
> > > > > really useful for humans that want something from running Airflow
> > > > instance
> > > > > - and the design of the MCP server should spin out of that.
> > > >
> > > > I got success pointing LLM agents to use airflow CLI to communicate
> > > > with local Airflow instance during development (of both Airflow and
> > > > DAGs), just by pointing it to various useful commands like run dag to
> > > > validate the code change using "uv run airflow dags test abc" and
> vice
> > > > versa.
> > > >
> > >
> > >
> > > Indeed - this is something I also keep in hearing that maybe you can do
> > > better without MCP and relying on better instructions described locally
> > > rather than via server (or derived by the LLM from CLI) - because
> basically
> > > this is what MCP does (but by burning a lot more tokens usually).
> > >
> > > Interestingly enough - Claude just today  "Claude Skills: Customize AI
> for
> > > your workflows \ Anthropic" https://share.google/Snyqd7mN6peUUmxEn
> > > proposed something way simpler and likely more powerful - Claude
> Skills -
> > > see also  this - pretty informative - article "Claude Skills are
> awesome,
> > > maybe a bigger deal than MCP" https://share.google/X3P1OLqDwnrdVb3vD .
> > > That
> > > seems way 'closer' to the Personas and Actions I thought we need to
> think
> > > about anyway for agents. It might be that we could simply describe
> Skills
> > > that airflow LLM might use and have a simple folder in our repo that
> will
> > > describe how agent might use CLI and API to do regular tasks and we are
> > > done (people might simply point to it in GitHub or local folder for the
> > > Agent to use). And it's pretty nuch just structured documenting on how
> > > agent (or human) can do certain things.
> > >
> > > That sounds pretty promising and way more straightforward than the
> whole
> > > MCP frenzy. I also read some studies that because of semantics
> differences
> > > and lack of coherence between MCP servers and the way how the protocol
> is
> > > underspecified, agents are struggling when they have tasks with
> several MCP
> > > servers involved and their performance and quality drastically drops.
> > >
> > > It"a a Wild West currently :) we should definitely avoid rushing here
> IMHO
> > > - but carefully listen what's going on - we might be chasing a rabbit
> all
> > > the time.
> > >
> > > J
> > >
> > >
> > > > >
> > > > > Things are evolving fast :)
> > > > >
> > > > > J.
> > > > >
> > > > >
> > > > >
> > > > > On Tue, Oct 14, 2025 at 5:58 PM Shahar Epstein <[email protected]>
> > > > wrote:
> > > > >
> > > > > > Hey Gyeongmo,
> > > > > >
> > > > > > I've initiated the idea of an official Airflow MCP in dev. list -
> > > > currently
> > > > > > I put it aside in favor of other ideas that I wanted to
> implement,
> > > > everyone
> > > > > > is welcome to take the lead instead.
> > > > > > I'll share some insights, following the recent thread and
> discussions
> > > > I had
> > > > > > with people in the latest Airflow summit (including Avi who
> posted
> > > > > > earlier):
> > > > > > 1. In the recent thread there was a consensus that if we support
> MCP
> > > > in the
> > > > > > official project - we should aim it in solving specific tasks
> (e.g.,
> > > > > > debugging Dags) exposing specific endpoints, rather than just
> being a
> > > > > > complete "mirror" of the current API - reasons are available in
> the
> > > > > > previous thread. Last time I checked, the latter was anyway
> > > technically
> > > > > > impossible due to the current number of endpoints surpassing the
> max.
> > > > > > allowed number of MCP tools.
> > > > > > 2. Currently we don't have a good way to assess the quality of
> the
> > > MCP
> > > > > > functionality (e.g., prompts) using the Apache's CI, being it
> > > Airflow's
> > > > > > repository or another, as we do not have access for AI assessment
> > > tools
> > > > > > (like promptfoo), or even LLMs themselves (like GitHub Copilot).
> For
> > > > that
> > > > > > reason, supporting official prompts puts us in high-risk in
> terms of
> > > > > > reliability and security, as results are very not-deterministic
> due
> > > to
> > > > LLM
> > > > > > nature and the differences between LLM models. Even if someone
> > > donates
> > > > > > access to such tools, we'll need to confirm legal aspects with
> ASF -
> > > > which
> > > > > > seems unlikely at this point of time.
> > > > > > 3. Following the above, I think that the best thing that we
> could do
> > > > at the
> > > > > > moment, as the official repository, is to provide an easier way
> for
> > > > > > integrating unofficial MCP servers using an official UI plugin
> (like
> > > > Avi
> > > > > > created), and the user will just have to provide MCP server
> > > connection
> > > > > > details and LLM credentials. If and when we have the ability to
> > > > support MCP
> > > > > > from end to end (including assessment toolings, and legal
> approval) -
> > > > then
> > > > > > we could discuss supporting an MCP server officially.
> > > > > > 4. Regarding the AIP - I created one, but drafted
> > > > > > <
> https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-91+-+MCP>
> > > it
> > > > for
> > > > > > now. It might be good to have it for agreeing on the standards
> of the
> > > > > > implementation, but as long as we have it as a separate and
> isolated
> > > > > > plugin, and it does not affect other components - it might not be
> > > > necessary
> > > > > > (we could just implement it).
> > > > > >
> > > > > > I'm aware that it is not ideal, and to be honest this is one of
> the
> > > > reasons
> > > > > > that I put it aside -
> > > > > > but I think that having an official UI plugin is the best we
> could do
> > > > for
> > > > > > now (feel free to challenge my claims in the 2nd bullet).
> > > > > > I'll be happy to put it to a discussion in one of the next dev.
> > > calls.
> > > > > >
> > > > > >
> > > > > > Shahar
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Tue, Oct 14, 2025 at 4:05 PM Gyeongmo Yang <
> [email protected]>
> > > > > > wrote:
> > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Hi all,
> > > > > > >
> > > > > > > I'm developer of mcp-server-apache-airflow.
> > > > > > > It seems there were already quite a lot of discussion! I
> couldn't
> > > > find
> > > > > > any
> > > > > > > other progress on this topic. May I know if there is another
> thread
> > > > about
> > > > > > > the same topic? Also, I would love to collaborate on this
> project
> > > > too.
> > > > > > >
> > > > > > > If a discussion (and possibly AIP) is already in progress, I'd
> like
> > > > to
> > > > > > add
> > > > > > > a few ideas:
> > > > > > >
> > > > > > > • Being a user of my own MCP server, what I thought to be a
> better
> > > > option
> > > > > > > is having a MCP server native to Airflow itself. Convenience
> would
> > > be
> > > > > > first
> > > > > > > reason, users wouldn't have to spin up a new server for MCP
> server.
> > > > > > General
> > > > > > > agreement on MCP looks like we could use it as an interface for
> > > > agents,
> > > > > > > just like machines(and human) use REST api as an interface. So
> > > since
> > > > we
> > > > > > > have an endpoint for REST api.. I think adding endpoint for
> MCP is
> > > > kind
> > > > > > of
> > > > > > > natural.
> > > > > > > • Main usecases of using remote MCP server instead of local one
> > > > would be
> > > > > > > tilted towards removing redundancy and governance from what my
> > > > > > experience,
> > > > > > > e.g. sharing same configuration in an Airflow cluster and
> > > controlling
> > > > > > what
> > > > > > > users can do with the MCP server. So I agree Airflow should let
> > > users
> > > > > > build
> > > > > > > MCP server by their own for some extent, but since Airflow
> holds
> > > many
> > > > > > > common parts it could provide common implementation for
> > > bootstraping.
> > > > > > Maybe
> > > > > > > it could provide an optional configuration to add mcp server,
> use a
> > > > > > default
> > > > > > > docker image for mcp server if not specified, and allow users
> to
> > > > > > customize
> > > > > > > by themselves using a custom image. I think most users won't
> > > deviate
> > > > from
> > > > > > > default implementation.
> > > > > > >
> > > > > > >
> > > > > > > Regards,
> > > > > > > Gyeongmo Yang
> > > > > > >
> > > > > > > On 2025/06/19 15:08:33 Shahar Epstein wrote:
> > > > > > >
> > > > > > > > Apologies for the delay, thanks for your great insights
> Jarek!
> > > > > > > > I'll consider them when starting to work on the AIP and
> initial
> > > > > > > > implementation.
> > > > > > > >
> > > > > > > >
> > > > > > > > Shahar
> > > > > > > >
> > > > > > > > On Tue, Jun 17, 2025 at 7:43 PM Jarek Potiuk <
> [email protected]>
> > > > wrote:
> > > > > > > >
> > > > > > > >
> > > > > > > > > > I wanted to pass my learnings from the AI Plumbers
> conference
> > > > > > > > > > https://lu.ma/vqx423ct that I was at just before Berlin
> > > > Buzzwords.
> > > > > > > This is
> > > > > > > > > > where AI open source "creators" meet and discuss on the
> "low
> > > > level
> > > > > > AI
> > > > > > > > > > engineering" - and MCP was one of the subject of the
> > > > unconference
> > > > > > > part we
> > > > > > > > > > had - and of course I jumped in and took part in it and
> > > > listened
> > > > > > > (mostly)
> > > > > > > > > > and spoke (a bit) on our case (and listened to feedback)
> > > > > > > > > >
> > > > > > > > > > My take on it - and this summarises > 2 hour discussion
> we
> > > > had....
> > > > > > > > > >
> > > > > > > > > > * MCP is about "intents" of people (or AI imitating
> people) -
> > > > not
> > > > > > > about
> > > > > > > > > > what you can do in the system, but what you want to
> achieve.
> > > > MCP is
> > > > > > > really
> > > > > > > > > > a bridge between "engineering" driven API which describes
> > > > low-level
> > > > > > > > > > capabilities of the system and "Product" driven view of
> what
> > > > users
> > > > > > > want to
> > > > > > > > > > achieve (so far, so good - using use cases as starting
> point
> > > > for
> > > > > > MCP
> > > > > > > > > > running server is likely good idea)
> > > > > > > > > > * There are different users of your system and different
> > > > > > > expectations of
> > > > > > > > > > what they want to achieve. It's nearly impossible to
> figure
> > > out
> > > > > > what
> > > > > > > > > > exactly every single user of Airflow would want from it
> - we
> > > > know
> > > > > > > about
> > > > > > > > > > vastly different cases on how airflow is used, and we
> will
> > > > likely
> > > > > > > never be
> > > > > > > > > > able to create an MCP server that would not be limited
> to a
> > > > very
> > > > > > > small set
> > > > > > > > > > of use cases - which means that if we release an MCP
> server,
> > > it
> > > > > > will
> > > > > > > be
> > > > > > > > > > usable by some but non-usable by others. This is a
> striking
> > > > > > contrast
> > > > > > > with
> > > > > > > > > > the API approach where we deliberately create an API to
> be
> > > > composed
> > > > > > > of a
> > > > > > > > > > small set of actions you can use and basically anyone can
> > > > tailor it
> > > > > > > to
> > > > > > > > > > their expectations on how they are using it.
> > > > > > > > > > * There is also one important aspect of MCP server that
> is
> > > > > > currently
> > > > > > > very
> > > > > > > > > > hotly debated - i.e. security. we should make sure that
> > > > whatever we
> > > > > > > make
> > > > > > > > > > possible to do by the "agent" is not breaking the
> security
> > > > > > > assumptions and
> > > > > > > > > > model of those who run Airflow.
> > > > > > > > > > * Connected to that - whenever the MCP server has to get
> more
> > > > > > > permissions
> > > > > > > > > > to get more data that only more "privileged" user can
> access,
> > > > there
> > > > > > > should
> > > > > > > > > > be human-in-the-loop involvement where the user can
> clearly
> > > > give
> > > > > > > > > > permissions to agent to read specific data - or better,
> read
> > > > the
> > > > > > > data and
> > > > > > > > > > hand it over to the agent. This is a crucial aspect in
> case
> > > we
> > > > have
> > > > > > > some
> > > > > > > > > > parts of the system that require more permission than
> > > > "default".
> > > > > > > > > >
> > > > > > > > > > In essence - no-one yet knows really how to do "good
> MCP" -
> > > we
> > > > are
> > > > > > > very
> > > > > > > > > > early stage and things will get better over time in
> > > > understanding
> > > > > > > what and
> > > > > > > > > > how to implement parts of it - and we should focus now on
> > > > things
> > > > > > > that are
> > > > > > > > > > "known" leaving the "unknown" for our users to fill (and
> > > adapt
> > > > and
> > > > > > > modify
> > > > > > > > > > in the future)
> > > > > > > > > >
> > > > > > > > > > Generally speaking I think summary of the conclusions I
> had
> > > > was:
> > > > > > > > > >
> > > > > > > > > > * The term that I really liked is that we should likely
> not
> > > > have
> > > > > > our
> > > > > > > own
> > > > > > > > > > MCP server that people will be treating as a black-box,
> but
> > > > that we
> > > > > > > should
> > > > > > > > > > be "MCP READY" -> i.e. we should give our users an
> option to
> > > > have
> > > > > > MCP
> > > > > > > > > > server that they will have to configure and adjust in
> the way
> > > > that
> > > > > > > will be
> > > > > > > > > > good for them and that they will have to essentially
> build
> > > > > > > themselves,
> > > > > > > > > > building in prompts, capabilities they expect as "users"
> from
> > > > the
> > > > > > > system,
> > > > > > > > > > using the building blocks, scaffolding and tooling that
> we
> > > will
> > > > > > > provide
> > > > > > > > > > them.
> > > > > > > > > >
> > > > > > > > > > * Open API and generating MCP server "base" from it is a
> good
> > > > idea
> > > > > > -
> > > > > > > it
> > > > > > > > > > provides a very good base in terms of security and we can
> > > turn
> > > > our
> > > > > > > expert
> > > > > > > > > > knowledge of airflow internals into better describing the
> > > API.
> > > > Ee
> > > > > > > should
> > > > > > > > > > focus indeed (and having a scaffolding) on improving
> > > > description
> > > > > > and
> > > > > > > > > > documentation of the Open API, use the generator to
> generate
> > > > > > > "scaffolding
> > > > > > > > > > MCP" from Airflow's openapi and tell the user "Here are
> next
> > > > steps
> > > > > > > that
> > > > > > > > > > you have to do in order to have your MCP server" is
> likely
> > > most
> > > > > > > effective
> > > > > > > > > > way and safest. We should not pretend that we can
> implement
> > > the
> > > > > > best
> > > > > > > > > > prompts for our users, most likely users should be able
> to
> > > > write
> > > > > > > their
> > > > > > > > > > prompts that will better describe what they want from the
> > > > system -
> > > > > > > we can
> > > > > > > > > > come with some examples, and guide the user on what they
> > > > should do
> > > > > > > with
> > > > > > > > > > them and they will have to write, adapt and adjust their
> > > > prompts -
> > > > > > > > > > especially that each of our users has different dag
> > > structure,
> > > > > > > functions,
> > > > > > > > > > criticality, etc. etc. Generally - Airflow is so generic
> that
> > > > only
> > > > > > > the user
> > > > > > > > > > who knows their DAGs can properly descibe in a human
> language
> > > > what
> > > > > > > they
> > > > > > > > > > might want from the system. Our OpenAPI should have a
> > > > good-enough
> > > > > > > > > > description that it should be "easy" to describe the MCP
> > > > prompts
> > > > > > and
> > > > > > > such
> > > > > > > > > > that are good for them.
> > > > > > > > > >
> > > > > > > > > > * the security we have from making sure the MCP server
> can
> > > > **only**
> > > > > > > do
> > > > > > > > > > whatever our OpenAPI allows - is already a very good
> start
> > > for
> > > > > > > security.
> > > > > > > > > > But we should also implement a layer of "Human In The
> Loop"
> > > > that
> > > > > > > will allow
> > > > > > > > > > the MCP server to have access to more sensitive data -
> this
> > > is
> > > > > > > something
> > > > > > > > > > that we currently do not have, generally allowing the
> user to
> > > > > > specify
> > > > > > > > > > access to only part of what they have access to - and
> > > exposing
> > > > it
> > > > > > to
> > > > > > > the
> > > > > > > > > > MCP layer in secure way. Without it, MCP server will be
> very
> > > > > > limited
> > > > > > > in
> > > > > > > > > > many cases as it will not have access to necessary data
> to
> > > > make it
> > > > > > > powerful
> > > > > > > > > > enough, but we also (by human in the loop) need to be
> able to
> > > > > > expose
> > > > > > > more
> > > > > > > > > > data when needed (and control it by the human)
> > > > > > > > > >
> > > > > > > > > > * in essence - rather than having a single "MCP server to
> > > rule
> > > > them
> > > > > > > all" -
> > > > > > > > > > we should have a mechanism that users should be able to
> build
> > > > their
> > > > > > > own
> > > > > > > > > > server easily and use some of the building blocks we
> provide
> > > > them
> > > > > > to
> > > > > > > do so
> > > > > > > > > > (especially around security). But they should be
> ultimately
> > > in
> > > > > > > control of
> > > > > > > > > > what "intents" they might have when interacting with
> Airflow.
> > > > > > > > > >
> > > > > > > > > > Those are the thoughts and learnings I had. Maybe that
> will
> > > be
> > > > > > > helpful in
> > > > > > > > > > our
> > > > > > > > > >
> > > > > > > > > > J.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > On Wed, Jun 4, 2025 at 1:09 PM Jason Sebastian Kusuma <
> > > > > > > > > > [email protected]>
> > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > > > > I want to present a use case I have in mind. I think
> it
> > > > would
> > > > > > be
> > > > > > > useful
> > > > > > > > > >
> > > > > > > > > > for
> > > > > > > > >
> > > > > > > > > > > > task delay analysis for tasks in complex workflows
> > > spanning
> > > > > > > multiple DAGs
> > > > > > > > > > > > or assets.
> > > > > > > > > > > >
> > > > > > > > > > > > We can ask questions like "why does task X finished
> later
> > > > than
> > > > > > > > > >
> > > > > > > > > > yestersay",
> > > > > > > > >
> > > > > > > > > > > > where it could fetch upstream tasks and upstream DAGs
> > > > execution
> > > > > > > durations
> > > > > > > > > > > > from this day and yesterday, use them as context and
> > > > conclude
> > > > > > > which
> > > > > > > > > > > > upstream tasks causes the delay.
> > > > > > > > > > > >
> > > > > > > > > > > > On Wed, Jun 4, 2025, 5:53 PM Jason Sebastian Kusuma <
> > > > > > > > > >
> > > > > > > > > > [email protected]
> > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > > wrote:
> > > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > > > > > Hi all,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Glad that my initial slack thread has been
> brought
> > > > into an
> > > > > > > interesting
> > > > > > > > > > > > > > discussion. Would love to contribute to this
> effort.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Best regards,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Jason Sebastian Kusuma
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > On Wed, Jun 4, 2025, 5:07 PM Sumit Maheshwari <
> > > > > > > [email protected]>
> > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > > > > >> At Uber, we've been using GenAI to debug task
> > > > failures
> > > > > > > and suggest
> > > > > > > > > > > >
> > > > > > > > > > > > further
> > > > > > > > > >
> > > > > > > > > > > > > > >> mitigation steps to our users. We would love
> to
> > > > > > > collaborate on this
> > > > > > > > > > > > > > >> project
> > > > > > > > > > > > > > >> and share our learnings & contribute.
> > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >> On Mon, Jun 2, 2025 at 11:09 AM Amogh Desai <
> > > > > > > [email protected]
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > > > > > >> wrote:
> > > > > > > > > > > > > > >>
> > > > > > > > > > > >
> > > > > > > > > > > > > > > >> > I agree that a use case driven approach
> is the
> > > > way
> > > > > > to
> > > > > > > go too.
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >> > When we go full-blown, it is easy to lose
> > > track
> > > > of
> > > > > > > the intention we
> > > > > > > > > > > > >
> > > > > > > > > > > > > > >> started
> > > > > > > > > > > >
> > > > > > > > > > > > > > > >> > with.
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >> > Some of the use cases related to
> debuggability
> > > > > > > improvements is
> > > > > > > > > > > > >
> > > > > > > > > > > > > > >> something we
> > > > > > > > > > > >
> > > > > > > > > > > > > > > >> > already
> > > > > > > > > > > > > > > >> > had a north star for in:
> > > > > > > > > > > > >
> > > > > > > > > > > > https://github.com/apache/airflow/issues/40975,
> > > > > > > > > >
> > > > > > > > > > > > > > > >> > with a good amount of
> > > > > > > > > > > > > > > >> > analysis already done. Maybe you can get
> some
> > > > data
> > > > > > > here that will be
> > > > > > > > > > > > > > > >> > useful.
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >> > Thanks & Regards,
> > > > > > > > > > > > > > > >> > Amogh Desai
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >> > On Fri, May 30, 2025 at 9:27 PM Avi
> > > > > > > <[email protected]>
> > > > > > > > > > > > >
> > > > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > Hi All,
> > > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > > >> > > Had a chat with @Kaxil. And we
> discussed
> > > on
> > > > > > > use-case first
> > > > > > > > > > > > > >
> > > > > > > > > > approach
> > > > > > > > >
> > > > > > > > > > > > > > > >> > rather
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > than opening up to all possibilities,
> on
> > > > > > building
> > > > > > > and maintaining
> > > > > > > > > > > > > >
> > > > > > > > > > > > the
> > > > > > > > > >
> > > > > > > > > > > > > > >> MCP
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > server.
> > > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > > >> > > A few use-cases which I had in mind
> were:
> > > > > > > > > > > > > > > > >> > > - Debugging task failures
> > > > > > > > > > > > > > > > >> > > - Schedule sparse across all dags for
> > > better
> > > > > > > resource utilization.
> > > > > > > > > > > > > > > > >> > > - Recommend provider usage in place of
> > > > native
> > > > > > > python codes.
> > > > > > > > > > > > > > > > >> > > - Cross-DAG Dependency Analysis
> > > > > > > > > > > > > > > > >> > > - Migration/Refactor Planning
> > > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > > >> > > We would need an ongoing effort on
> this,
> > > as
> > > > > > every
> > > > > > > other day
> > > > > > > > > > > > > >
> > > > > > > > > > > > something
> > > > > > > > > >
> > > > > > > > > > > > > > >> new
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > comes up. Could be more optimization,
> or
> > > > newer
> > > > > > > use-cases. We also
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> need to
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > maintain the security aspect of if.
> Like,
> > > > where
> > > > > > > do we recommend
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> running,
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > auth and transport methods, etc.
> > > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > > >> > > I made a new release today with
> FastMCP
> > > and
> > > > > > > discovery of tools
> > > > > > > > > > > > > >
> > > > > > > > > > based
> > > > > > > > >
> > > > > > > > > > > > > > >> on
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > category. After seeing today that
> FastMCP
> > > > mount
> > > > > > > and sending
> > > > > > > > > > > > > >
> > > > > > > > > > refresh
> > > > > > > > >
> > > > > > > > > > > > > > >> the
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > tools list notification is working
> (*which
> > > > it
> > > > > > > wasn't 3 months
> > > > > > > > > > > > > >
> > > > > > > > > > > > back*).
> > > > > > > > > >
> > > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > > >> > > Things I have on my roadmap:
> > > > > > > > > > > > > > > > >> > > - HTTP based transport specifically
> for
> > > > OAuth
> > > > > > > currently it is
> > > > > > > > > > > > > >
> > > > > > > > > > stdio
> > > > > > > > >
> > > > > > > > > > > > > > >> only
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > for it to be installed in a plugin
> > > > > > > (*airflow-wingman*) as a
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> dependency.
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > - Waiting for search tools to be
> > > > implemented.
> > > > > > > > > > > > > > > > >> > > - Decide to bake prompts with the
> server,
> > > > > > perhaps.
> > > > > > > > > > > > > > > > >> > > - Very minimal Docs as a resource
> which
> > > > tells
> > > > > > > about recent changes
> > > > > > > > > > > > > >
> > > > > > > > > > > > in
> > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > Airflow behavior (Example: *every LLM
> till
> > > > date
> > > > > > > still tries to
> > > > > > > > > > > > > >
> > > > > > > > > > write
> > > > > > > > >
> > > > > > > > > > > > > > > > >> > > schedule_interval instead of
> schedule*)
> > > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > > >> > > @Shahar feel free to take a lead and
> see
> > > if
> > > > > > there
> > > > > > > are things you
> > > > > > > > > > > > > >
> > > > > > > > > > > > would
> > > > > > > > > >
> > > > > > > > > > > > > > > >> > like
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > to cherry-pick from it.
> > > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > > >> > > Thanks,
> > > > > > > > > > > > > > > > >> > > Avi
> > > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > > >> > > On Fri, May 30, 2025 at 9:57 AM Avi <
> > > > > > > [email protected]> wrote:
> > > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >> > > > 💯 agreed
> > > > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > > > >> > > > On Fri, May 30, 2025 at 9:52 AM
> Kaxil
> > > > Naik <
> > > > > > > [email protected]
> > > > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > > > > > > >> > wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> Agreed
> > > > > > > > > > > > > > > > > > >> > > >>
> > > > > > > > > > > > > > > > > > >> > > >> On Fri, 30 May 2025 at 15:18,
> Jarek
> > > > > > Potiuk
> > > > > > > <[email protected]>
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >>
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > Yeah, I think none of us
> want
> > > to
> > > > just
> > > > > > > publish the code and be
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> "done"
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> with
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > it ... There is a real
> work to
> > > be
> > > > > > done
> > > > > > > to make MCP much more
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> useful
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > and
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> "AI
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > friendly" and the examples
> you
> > > > gave
> > > > > > > Brian are cool, because I
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> think
> > > > > > > > > > > >
> > > > > > > > > > > > > > > >> > we
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> need
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > to (and this is mostly the
> ask
> > > > from
> > > > > > > maintainers for the users
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > to
> > > > > > > > > >
> > > > > > > > > > > > > > > >> > come
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> and
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > participate in the design
> phase
> > > > of
> > > > > > > what the MCP can do).
> > > > > > > > > > > > > > > > > > > >> > > >> > It looks like that
> "backbone"
> > > of
> > > > the
> > > > > > > MCP and the glue between
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > the
> > > > > > > > > >
> > > > > > > > > > > > > > > >> > REST
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> API
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > and MCP can be done in a
> simple
> > > > (and
> > > > > > > easy to maintain) way.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > But
> > > > > > > > >
> > > > > > > > > > > > > > >> the
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> added
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > value is indeed in
> figuring out
> > > > what
> > > > > > > would be useful missing
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> things
> > > > > > > > > > > >
> > > > > > > > > > > > > > > >> > -
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > starting from what broad
> use
> > > > cases we
> > > > > > > want to address - and
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> whether
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> some
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > help for the agent can be
> > > > described
> > > > > > as
> > > > > > > prompts, better
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> description
> > > > > > > > > > > >
> > > > > > > > > > > > > > > >> > of
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> the
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > API and examples or maybe
> we
> > > need
> > > > > > more
> > > > > > > aggregated, new APIs
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> (maybe
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> simply
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > new REST API calls we need)
> > > that
> > > > will
> > > > > > > allow the agents to
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > reason
> > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > better
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> and
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > faster. All of that is
> > > possible.
> > > > > > > > > > > > > > > > > > > >> > > >> >
> > > > > > > > > > > > > > > > > > > >> > > >> > J
> > > > > > > > > > > > > > > > > > > >> > > >> >
> > > > > > > > > > > > > > > > > > > >> > > >> > On Fri, May 30, 2025 at
> > > 11:29 AM
> > > > > > Kaxil
> > > > > > > Naik <
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > [email protected]
> > > > > > > > > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> wrote:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > >> > > >> > > You can easily add as
> many
> > > > tools
> > > > > > > you want:
> > > > > > > > > > > > > > > > > > > > >> > > >> > >
> > > > > > > https://gofastmcp.com/servers/tools
> > > > > > > > > > > > > > > > > > > > >> > > >> > >
> > > > > > > > > > > > > > > > > > > > >> > > >> > > I would be surprised if
> > > > there is
> > > > > > a
> > > > > > > thing you can't do with
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> FastMCP
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> 2.0+
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > >> > > >> > > that you can do with
> the
> > > MCP
> > > > > > > Python SDK.
> > > > > > > > > > > > > > > > > > > > >> > > >> > >
> > > > > > > > > > > > > > > > > > > > >> > > >> > > Like I said earlier:
> This
> > > is
> > > > a
> > > > > > > simplistic example :) but
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > the
> > > > > > > > >
> > > > > > > > > > > > > > >> gist
> > > > > > > > > > > >
> > > > > > > > > > > > > > > >> > is
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> we
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > >> > > >> > > should be using the
> newer
> > > > > > > abstractions which I am happy to
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> comment
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> during
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > >> > > >> > > the development phase
> too.
> > > > Like
> > > > > > > everything else we need to
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> ensure
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > >> > > >> > > maintainability is
> worth
> > > the
> > > > > > value
> > > > > > > we create.
> > > > > > > > > > > > > > > > > > > > >> > > >> > >
> > > > > > > > > > > > > > > > > > > > >> > > >> > >
> > > > > > > > > > > > > > > > > > > > >> > > >> > >
> > > > > > > > > > > > > > > > > > > > >> > > >> > > On Fri, 30 May 2025 at
> > > 14:48,
> > > > > > > Kaxil Naik <
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > [email protected]>
> > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > >> > > >> > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > > Btw we don’t need
> to
> > > use
> > > > > > > FastMCP just for create MCP from
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >> > OpenApi
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> spec.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > > Many of you mighht
> > > > already be
> > > > > > > aware - FastMCP 1.0 was
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> adopted in
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > the
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > > official mcp
> python sdk
> > > > since
> > > > > > > 1.2 and is recommended
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> high-level
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> server
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > > framework.
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > >
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > > Check:
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > >
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >>
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > >
> > > >
> https://github.com/modelcontextprotocol/python-sdk/releases/tag/v1.2.0
> > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > >
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > > @Bryan Coder: I
> will be
> > > > > > > surprised if you can’t do the
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >> use-case
> > > > > > > > > > > >
> > > > > > > > > > > > > > > >> > you
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > > mentioned with
> FastMCP
> > > -
> > > > > > > either the one donated to MCP
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > Python
> > > > > > > > > >
> > > > > > > > > > > > > > > >> > SDK
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >> > > or
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > > FastMCP 2.0 - have
> you
> > > > tried
> > > > > > > that? It isn’t just a
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > wrapper!
> > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > >
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > > On Fri, 30 May
> 2025 at
> > > > 13:16,
> > > > > > > Avi
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > <[email protected]
> > > > > > > > > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> wrote:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > >> > > >> > > >
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> Yeah FastMCP is
> > > nice,
> > > > I
> > > > > > > didn't select fast mcp for this
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >> > specific
> > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > reason:
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> - The sheer
> number
> > > of
> > > > > > tools
> > > > > > > that are created using
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > OpenAPI
> > > > > > > > >
> > > > > > > > > > > > > > >> spec
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > doesn't
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> need to be
> passed to
> > > > AI
> > > > > > > every single message.
> > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> - Instead, we
> can
> > > do a
> > > > > > > hierarchical tool discovery based
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > on
> > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >> > > >> > categories.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> And
> > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> let AI select a
> > > > particular
> > > > > > > category and then get tools
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > only
> > > > > > > > > >
> > > > > > > > > > > > > > >> for
> > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >> > > >> that
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> category.
> > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >>
> > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> python3 -c "
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> > import json
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> > with
> > > > > > > open('path/to/openapi.json') as f:
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> > spec =
> > > > json.load(f)
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> >
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> > tags = {}
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> > for path,
> > > methods
> > > > in
> > > > > > > spec['paths'].items():
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> > for method,
> > > > details in
> > > > > > > methods.items():
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> > if 'tags' in
> > > > details:
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> > for tag in
> > > > > > > details['tags']:
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> > tags[tag] =
> > > > > > > tags.get(tag, 0) + 1
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> >
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> > print('Tags
> and
> > > > their
> > > > > > > counts:')
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> > for tag,
> count
> > > in
> > > > > > > sorted(tags.items(), key=lambda x:
> > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > x[1],
> > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> reverse=True):
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> >
> print(f'{tag}:
> > > > > > {count}')
> > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > >> > "
> > > > > > > > > > > > > > > > > > > > >
> > > > > > >
> > > > > > > [message truncated...]
> > > > > > >
> > > > > > > Sent with Spark
> > > > > > >
> > > > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [email protected]
> > > > For additional commands, e-mail: [email protected]
> > > >
> > > >
> > >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to