18 min read
How are AI agents used? Evidence from 177,000 MCP tools — monitoring the action space
Public MCP repositories can reveal how deployed agents’ capacity to affect external environments is changing, where platform studies previously lacked tool-level visibility. The download share of action tools rose from 27% to 65% across the observed 16 months. If this signal holds, oversight must examine the tool layer rather than model outputs alone.
By the end you should be able to trace a public MCP tool through collection and classification, diagnose what download counts do not measure, and use direct impact, generality, and stakes to prioritize follow-up monitoring.
Contents
Agent action space
Why can tool access reveal consequential agent capacity when model outputs cannot?
The Coinbase transaction example sharpens a boundary that a transcript blurs [1]. A model can recommend moving cryptocurrency or draft instructions for doing so; those outputs do not establish that a transaction occurred. The naive measurement—scan generated text for action verbs—therefore counts advice, intention, and environmental modification as the same event.
Tool access supplies the missing distinction. The paper defines an agent’s agent action space as the set of actions it can take in the world and says tools define that set [2]. In the Coinbase example, access to a transaction tool changes the available operation from describing a transaction to executing one [1]. Credentials and permissions can still constrain access to a tool [2]. The capability claim is therefore conditional: the tool opens a route to modification; it does not prove that the route was used.
That makes tool availability informative without making it behavioral telemetry. The causal chain is short: a server exposes an operation; the agent can select it; the operation may modify the external environment. Generated text exposes only a proposed step. Tool access exposes which environmental step is available. The paper states that an agent can act on instructions only when it has tools that permit the action [3]. Evidence about availability therefore does not establish that a particular call occurred; action-level records would be needed for that.
Capacity also depends on more than possession of a tool. The paper defines autonomy as the ability to complete tasks without further external direction or control [4]. A transfer tool could sit behind confirmation on every call, or an agent could invoke it as one step in a longer plan. The tool determines what action is available; system configuration and planning determine how that capacity is exercised. This is why output-only monitoring misses a consequential boundary, but tool monitoring alone still cannot establish behavior or intent.
One uncertainty now becomes operational. Saying that “tools matter” does not identify the functions exposed by public servers, distinguish a transfer function from a balance reader, or show when either appeared. The action-space lens needs an inventory before it can become a measurement.
MCP repository observatory
How does the study turn scattered public repositories into a longitudinal tool dataset?
Suppose a GitHub hit mentions Coinbase MCP. That hit is not yet evidence of a cryptocurrency-transfer tool: the same search can surface an actual server, a list pointing to servers, or documentation that merely mentions the protocol. Counting hits would mix documented tools with pointers and prose. Counting repositories would introduce a second error because one verified server can describe several distinct tools. The study therefore has to change both the inclusion rule and the unit being counted. [5] [6]
First comes a broad candidate pool. The study searched GitHub repositories with at least star for “mcp server” in the name, description, README, or tags; queried the Smithery registry; and incorporated two prominent GitHub server lists. The lists improve coverage, but their entries already appeared in GitHub or Smithery, so they do not create an independent pile of duplicate servers. [7] [8] [9]
Breadth alone produces a dirty inventory. After deduplication and removal of zero-star entries, an LLM judge rejected documentation and unrelated code, then retained only servers whose README or description clearly defined tools. That sequence reduced candidates to verified servers. [5]
Verification still leaves the wrong unit of analysis. A server is a container, not a single capability. The README-processing prompt therefore extracts every distinct function or capability as a separate record, with a unique name and description, while excluding installation instructions and other setup material. If the Coinbase README separately defines balance lookup and cryptocurrency transfer, those become separate tool records rather than one generic “finance server” observation. This tool-level expansion yielded distinct tools from the verified servers. [6] [5]
The distinction matters: adding another server and adding another capability are not equivalent events. The observatory counts the latter while retaining the server that exposed it.
Finally, the dataset needs time. Each server receives its creation date, while README and tool contents come from dated captures: October 1, 2025 for servers created before October 2025, and February 1, 2026 for newer servers. This supports ecosystem-level change over time, but not a complete history of tools added to or removed from each server between captures. [10]
The result is a dated inventory of distinct tools documented in public sources: discovery finds candidates, deduplication prevents repeated servers, verification removes false positives, and extraction exposes the tools described by each survivor. A cryptocurrency-transfer tool is now observable as a record. But the pipeline has not yet classified how directly or broadly that tool can affect an external environment.
Tool impact taxonomy
How are heterogeneous tools converted into comparable dimensions of agent capability?
Place a balance lookup, a strategy calculator, and a cryptocurrency transfer in one inventory. Calling all three “tools” records their existence but erases the important differences: one reads the world, one transforms information, and one changes an account. Even “financial tool” is too coarse, because it says nothing about the kind or breadth of access.
The first cut is direct impact. A classifier assigns each extracted capability to perception when it reads data, reasoning when it analyses data or concepts, or action when it modifies an external environment. The Coinbase transfer tool is therefore an action tool: its defining effect is executing a financial transaction, not describing one. Classification happens at tool level because one server can bundle read-only and modifying capabilities. [11] [12] [1]
That label still conflates a fixed transfer endpoint with control of an arbitrary browser. tool generality supplies the second cut. A narrow-purpose tool exposes a constrained environment, such as a specific cryptocurrency API; a general-purpose tool exposes an unconstrained environment, such as browser or computer control. The Coinbase transfer remains narrow-purpose even though its effect may be consequential. Because a server usually exposes one environment, the study assigns generality at server level and propagates it to the server’s tools. [13] [14]
The third cut asks what economic work the capability supports. A task domain label maps the tool into the O*NET taxonomy of tasks and occupations. The transfer tool therefore occupies a finance-related economic function, while direct impact records that it modifies an account and generality records that it does so through a constrained interface. These dimensions are not substitutes: changing one does not force either of the others to change. Together they turn unlike descriptions into comparable records without pretending that all actions have the same function. [15]
Applied to the running example, the three questions classify the Coinbase transfer capability as action, narrow-purpose, and finance-related: it modifies an external environment through a constrained cryptocurrency interface and supports financial work. [1] [13] [15] A count of such records can compare available capabilities, but it cannot show which capabilities attract ecosystem activity.
Downloads as usage proxies
What does download weighting add, and where does its interpretation fail?
If the public Coinbase MCP server appears in package-download records, the tempting story is that an agent transferred cryptocurrency. That leap turns installation into behavior: the package may have been fetched to initialize a test environment while the transfer tool was never called. The opposite shortcut—giving every published server one equal vote—also fails. A dormant experiment would count as much as a server fetched repeatedly, erasing the available signal of ecosystem attention. [1] [17]
A download-based usage proxy keeps that ranking signal while limiting what it can establish. The study tracks monthly downloads from NPM and PyPI between November 2024 and February 2026. It matches download records to of servers, covering of tools, so the weighting applies to a subset rather than the complete repository census. [18]
Within that subset, repeated downloads give a server more influence than an equally classified server with few downloads. Aggregating those weights by capability label can therefore reveal which categories attract more package-registry activity and whether their relative shares move over time. It does not convert the weights into observed tool calls.
Concentration makes the proxy useful and fragile. In the covered data, the top of NPM servers account for of downloads, while the top of PyPI servers account for . A few classification errors can therefore move a weighted ecosystem estimate substantially. [20]
If the Coinbase server’s download share rises, the defensible conclusion is narrower than “agents executed more transfers”: package-registry attention shifted toward that server. Because shares are normalized to a fixed total, its increase must be offset by lower shares elsewhere. Downloads can support relative trends and concentration estimates, not counts of runtime execution or production deployment. With capability labels and this bounded proxy in place, one problem remains: did the ecosystem’s composition actually change?
Deployment patterns
Which capability and task distributions dominate, and how did they move over time?
The obvious shortcut is to treat more tools and downloads as evidence that the ecosystem is shifting toward environmental modification. It fails: if every category expands at the same rate, totals rise while the functional mix stays fixed. A Coinbase cryptocurrency-transfer tool adds an action capability, but its presence alone says nothing about the dominant mix [1] [11]. The useful test is whether each category’s share of the download-based usage proxy changes.
Start with task domain concentration. Software-development and IT tools account for of published tools, but servers mainly hosting them receive of downloads. Business management, finance, and customer service account for of tools yet only of server downloads [21]. The Coinbase transfer tool sits in that smaller functional region. Publication is therefore broader than download-weighted interest: the ecosystem contains finance capabilities, but software work dominates the measured activity.
Download-share observations: is software and IT overall; – are action at the start and end of the observed months; – are general-purpose capability at the start and end. The software figure is an aggregate benchmark, not a monthly series [21] [22] [23].
The level and the movement tell different stories. Software remains the dominant task destination [21]. The action share grew rather than preserving the original direct impact mix, and the paper attributes that shift primarily to adoption of general-purpose browser and computer-control tools [22]. The dimensions overlap: of general-purpose server downloads involved action capabilities, while of downloaded perception tools operated in constrained environments [23]. Downloads thus expanded unevenly toward modification in unconstrained environments. But direct impact leaves a concrete problem unresolved: editing a file and transferring cryptocurrency both count as actions [11] [1].
The Coinbase example shows why that distinction needs another dimension. A cryptocurrency-transfer tool is an action tool because it modifies an external environment, yet it is narrow-purpose because it exposes predefined operations in a constrained service [11] [13]. Neither label establishes its task consequentiality. The paper’s stakes measure maps tools to occupations rather than measuring realized harm; on that proxy, most action tools support medium-stakes occupations, while finance is an outlier with disproportionately many action tools in high-stakes occupations [24].
Task consequentiality
How does the study distinguish ordinary actions from tools supporting higher-stakes tasks?
A Coinbase cryptocurrency transfer tool and a file editor are both action tools: each can modify an external environment. Ranking them by that label alone therefore produces a tie, even though the supported decisions have different stakes. Direct impact identifies what kind of operation a tool permits; it does not identify what or whom the resulting decision can affect [11].
The study adds task consequentiality by mapping the work behind each tool. Its top-down classifier first assigns a tool to one of broad ONET categories, then to one of intermediate clusters, and finally to one of occupational tasks. This hierarchy makes the search tractable because the complete task list does not fit in the classifier’s context window [25]. For the Coinbase example, the method asks which ONET task best matches the transfer operation; it does not infer stakes from the cryptocurrency label alone. Existing O*NET crosswalks then connect the selected task to Standard Occupational Classification occupations [26].
The occupation supplies the missing variable. O*NET asks workers what results their decisions usually have for other people or for an employer’s reputation or financial resources. The study uses this decision-impact response as a proxy for the stakes of occupations supported by published tools [27]. The transfer tool therefore receives a stakes signal through its mapped occupational work, not merely because it can move cryptocurrency.
That chain preserves an important uncertainty. Human validation supports the broad task categories better than the highly specific lower levels, so the analysis emphasizes aggregated task domains and occupations rather than pretending that every fine-grained assignment is exact [16]. The impact scale is also comparative rather than a calibrated quantity; the paper calls its absolute values imprecise [28]. Even with those limits, the distribution separates the cases that the action label merged: most action tools map to medium-stakes occupations, while finance has disproportionately more action tools among high-stakes occupations than the overall pattern predicts [24].
The Coinbase tool illustrates both the value and the limit of public metadata. Its availability can flag a capability for financially consequential action, but it cannot establish whether transfers occurred, at what volume, or in what user context. The paper therefore treats tool monitoring as an early signal for targeted interviews and usage-data investigation, not as direct observation of agent behavior or systemic risk [29].
Layered deployment monitoring
How should tool-layer evidence guide oversight without exceeding what the data establishes?
A Coinbase MCP wallet appeared on GitHub in January 2025 before its official release in April, making public tool monitoring an early signal [30]. But the signal is thin: public-tool usage statistics have limited precision and make specific user groups difficult to identify [31]. Publication shows available capability, not that a transfer occurred. Waiting for later deployment evidence avoids that inference, but loses the early signal.
The obvious shortcut is to turn the early signal into a behavior estimate. That fails because package downloads proxy ecosystem interest and count installations, not tool calls [17]. Use the first rung only to prioritize follow-up where an action capability, an uptake signal, and task stakes coincide. For the Coinbase wallet, publication identifies a financial tool; rising downloads would strengthen the case for investigation, not estimate transaction volume. This rung ranks attention. It does not measure realized harm.
Once a case is selected, interviews and surveys can supply use-case context that public tools lack, while provider or firm usage data can link recorded use to accounts or user groups [31]. The paper proposes using financial-tool monitoring to inform targeted interview requests and usage-data investigation [29]. More broadly, it positions surveys, interviews, and usage data as later methods for deepening early tool-monitoring signals [32]. But recorded use still does not show what happened in the external payment system.
Where the stakes justify it, move to action-level monitoring in the external system. For the Coinbase example, that means observing agent-attributable payment flows rather than inferring them from repositories. Relevant measures could include the agent share of transactions, concentration by market segment or time window, correlated activity, and indicators of payment-system stress [33] [34]. Those observations can support claims about behavior and systemic exposure that tool metadata cannot.
Report each rung with its own verb: a repository reveals available capacity, downloads indicate ecosystem interest, interviews establish reported context, private logs measure recorded use, and action traces establish observed behavior. Public tools therefore provide broad, early evidence that agents’ capacity to act is expanding; layered follow-up preserves that lead without relabeling capacity as conduct. That is how oversight can extend beyond model outputs while staying inside the evidence.
Transfer set
Put the pieces together
These questions combine mechanisms from more than one section. Work from the causal chain before opening the answer.
- 01
A new dated capture of the Coinbase server contains only balance lookup and no cryptocurrency transfer tool, while server downloads rise. What changes first, and what can the download trend establish?
Show answer
Tool extraction first loses the transfer record. The remaining balance lookup is classified as perception rather than action, while the server remains narrow-purpose and finance-related. Rising downloads now increase the weight of a read-only capability, but still establish only greater package-registry interest, not balance checks or transfers.
- 02
The Coinbase transfer tool is public, heavily downloaded, and mapped to higher-stakes financial work, but interviews find that every transfer requires human confirmation. How should oversight classify and investigate this case?
Show answer
The tool still adds cryptocurrency transfer to the available action space, and its uptake and stakes justify follow-up. Mandatory confirmation lowers autonomy without removing the capability or proving execution. Interviews establish that approval context; private usage data and action-level payment monitoring are still needed to determine whether transfers occur and with what effects.
- 03
Suppose the download share of action tools rises again, but action-level monitoring finds no corresponding increase in observed external actions. What conclusion survives, and how should it be reported?
Show answer
The repository evidence still supports a shift in measured ecosystem interest toward tools that can modify external environments; because download shares are normalized, that gain is offset by lower shares elsewhere. The action traces separately show that observed behavior did not rise with the capacity signal. This closes the hook and throughline: public tool metadata reveals expanding capacity to act, while layered follow-up prevents installations and available operations from being reported as agent behavior.
References
- [1]“Unlike a standard LLM that can draft correspondence, list products, or recommend stocks, an agent can use tools to autonomously send an email (e.g. using Google MCP), search an online marketplace (e.g. using Amazon MCP), or execute financial transactions (e.g. using Coinbase MCP), often with relatively little human oversight.”
- [2]“The \textbf{action space} of an AI agent describes the set of actions it can take in the world. Tools define an AI agent's action space.”
- [3]“Second, an AI agent can only act upon malicious instructions, when it has tools to act, e.g., to send emails or cryptocurrency \citep{mo2025attractive, hou2025modelcontextprotocolmcp, gan2024navigating}.”
- [4]“\textbf{Autonomy} is the ability of an AI agent to fulfil tasks without external direction or controls, e.g. follow-up prompts by humans or other AI systems \citep{cihon2025measuring}.”
- [5]“After deduplication and filtering out servers with 0 stars, we used an LLM (Claude Sonnet 4.5) to verify each entry was a valid MCP server rather than documentation or unrelated code. In addition, we only include servers with clearly defined tools in README files or descriptions. This process reduced the initial dataset from 73,338 potential servers to 19,388 verified servers. On these verified servers, we identified a total of 177,436 distinct agent tools as our final dataset.”
- [6]LLM PromptsS9.4“EXTRACT tools information (try to copy the relevant exact text from the README):\ Identify each distinct tool/function/capability mentioned,\ Extract name and description for each tool,\ Look for tool definitions, API endpoints, functions, commands, etc.”
- [7]“\textbf{GitHub.} We searched for repositories with at least 1 star whose name, description, readme or tags include the string `mcp server' (n = 16,956 MCP servers in the final dataset).”
- [8]“\textbf{Smithery MCP registry} (n = 2,437 in the final dataset). We chose Smithery due to its permissive registry API and size, compared to other registries.”
- [9]“\textbf{MCP server lists on GitHub.} To ensure coverage of prominent MCP servers and identify
official' servers, we include servers on two popular MCP server lists: The official MCP repository \citep{githubGitHubModelcontextprotocolservers} (n = 841 in the final dataset), the most starred listawesome MCP servers' \citep{archiveGitHubPunkpeyeawesomemcpservers} (n = 781 in the final dataset). All 1,366 of these also appear in source 1 or source 2.” - [10]“We track the evolution of the MCP ecosystem by noting each server's creation date. Rather than analyzing only the latest February 2026 snapshot, we capture historical server versions: for servers created before October 2025, we collect READMEs and tools on 1 October 2025; for newer servers, we collect them on 1 February 2026. This approach, however, means that we do not track the changes of individual MCP servers.”
- [11]“The \textbf{direct impact} of an AI agent tool describes whether a tool permits perception, reasoning or action. Agents need \emph{perception tools} to access and read data, \emph{reasoning tools} to analyse data or concepts, and \emph{action tools} to directly modify external environments, like file editing, sending emails or steering drones in the physical world.”
- [12]“We assign the direct impact classification on tool level, as one MCP server may have tools to access and tools to modify external environments.”
- [13]“Tool \textbf{generality} describes whether the tool enables interaction with narrow, constrained or general, unconstrained environments. \emph{Narrow-purpose tools} enable agents to fulfil tasks in constrained environments, such as a tool designed exclusively for transferring a cryptocurrency or viewing data via a particular API. \emph{General-purpose tools} grant agents access to unconstrained environments, such as the ability to control a web browser or execute arbitrary code.”
- [14]“Generality is a property of the environment an MCP server provides access to, and all tools on a MCP server typically interact with the same environment. Thus, we classify generality on server-level, and assign the same generality to all tools of a server.”
- [15]“The \textbf{task domain} of an AI agent tool describes the typical kind of work the tool helps to fulfil. We classify domains using the O*NET framework of economic tasks and occupations, and distinguish lower-stakes from higher-stakes domains based on the consequentiality of occupations supported by a particular tool.”
- [16]“Assignment at lower hierarchy levels is less reliable due to the extreme specificity of O*NET tasks and broader remit of many MCP tools (e.g. the agreement between GPT-5 and Sonnet 4.5 at \textless70%), thus we focus on aggregated statistics on the highest levels for tasks, and on occupations.”
- [17]“Package downloads serve as a proxy for ecosystem interest rather than a direct measure of runtime execution. This metric counts installation events (e.g., initialising an agent environment) rather than individual tool calls.”
- [18]“To estimate how popular MCP servers are, we tracked monthly download statistics (2024-11 to 2026-02) for the subset of MCP servers hosted on the Node Package Manager (NPM) and Python Package Index (PyPI) registries, which are the default for making local MCPs available. Figure \ref{fig:methodology} shows the data. We collect all usage data on March 1, 2026. We match 3,854 of 19,388 MCP servers (with 42,498 of 177,436 MCP tools) to download data.”
- [19]“A typical non-included use is the addition of pre-mirrored MCP servers to chatbots, like adding a pre-verified connector to claude.ai. In addition, there might be remotely hosted servers or routine local workflows which do not require downloads, which are not included here. Thus, usage distributions should not be overinterpreted; the data might mostly indicate which tools are piloted most by developers rather than tools deployed in routine production workflows.”
- [20]“Usage is concentrated. For NPM downloads, the top 1% (13 servers) cover 79.3% of downloads, the top 10% of servers cover 93.1%. For PyPI downloads, the top 1% (13 servers) dominate with 42.9%, the top 10% cover 74.5%.”
- [21]“We find tools designed for software development and IT tasks account for 67% of the total dataset. 90% of downloaded MCP servers mainly hosted software development and IT tools (Table \ref{tab:domains}, third column). This concentration suggests that the primary current utility of agents is to accelerate technical workflows rather than to automate broader economic tasks. 18% of tools support finance and business management tasks (5% of MCP server downloads).”
- [24]“We find most action tools support medium-stakes occupations such as computer systems administration, with relatively few tools for low-stakes or high-stakes tasks (Figure ~\ref{fig:stakes-occupations}). However, finance represents a significant outlier: high-stakes financial occupations have disproportionately more action tools than predicted by the overall pattern.”
- [25]“We use a three-level hierarchical classification approach originally proposed by Anthropic \citep[see Appendix][]{handa2025which}. We prompt the LLM to first allocate the tool into one of 12 high-level clusters, then one of the derivative mid-level clusters (n = 400 total), and then one of the associated ONET tasks (n = 18796). This addresses the issue that all ONET tasks combined do not fit in any LLM's context window”
- [26]“For comparability to other studies, and consequentiality assignment we map tasks to occupations, using existing crosswalks from O*NET bottom-level tasks to the Standard Occupational Classification (SOC).”
- [27]“To assess risk, we mapped the amount of published tools to consequentiality of different tasks and occupations using ONET impact data. The ONET survey \citep{onetonlineWorkContext} identifies the consequentiality of certain occupations through a question that asks employees 'What results do your decisions usually have on other people or the image or reputation or financial resources of your employer?'”
- [28]“Absolute values are meaningless and imprecise, thus the axis labels are omitted.”
- [29]“In line with Appendix~\ref{app:monitoring}, deeper monitoring of agent tools for accessing the financial system could inform targeted requests for interviews and usage data investigation.”
- [30]“GitHub release of Coinbase MCP wallet in January 2025, official in April 2025”
- [31]“Usage statistics limited to non-caching downloads, difficult to identify specific user groups”
- [32]“Tool monitoring is particularly helpful for answering early, explorative questions on use, in the absence of clear critical public use cases. Later, surveys, interviews and usage data can be used to deepen the understanding of agent use cases.”
- [33]“Future work should expand to \emph{agent systems} and their usage to track the orchestration of agent tools including autonomy; and \emph{agent actions} measuring actual agent actions in external systems, like on GitHub, on the internet, on digital markets, on payment flows etc.”
- [34]“This could track: (1) agent actions as share of total transactions; (2) concentration in specific market segments or time windows; (3) correlation patterns; (4) early indicators of payment system stress or market instability attributable to agents.”
- [35]“Developers may build custom integrations, use proprietary internal tooling, or distribute tools through channels not covered by our data sources. As such, our results represent a lower bound on the actions available to AI agents, rather than aiming to be comprehensive.”