1. Conduid
  2. Developer Tools
  3. Example Async Tools MCP Server Py
MCP server · Developer Tools

Example Async Tools MCP Server Py

Asynchronous (background) weather data collection tooling for Claude Desktop

Unclaimed Apache-2.0 last commit a year ago mcp-serverdevtoolsweather-dataclaude-desktoppythonresonate
57Fair

Scored 4 months ago · breakdown

About Example Async Tools MCP Server Py

Example Async Tools MCP Server Py is an MCP server published by resonatehq-examples in the Developer Tools category: asynchronous (background) weather data collection tooling for Claude Desktop. It has been installed 0 times through Conduid.

Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx example-async-tools-mcp-server-py

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Example Async Tools MCP Server Py

Powered by Claude · Grounded in docs

I know everything about Example Async Tools MCP Server Py. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

Weather data AI Agent tool | Resonate example application

This example application showcases Resonate's ability to convert synchronous MCP Server tools into Durable Asynchronous tools.

Because... if you are building an MCP server then you are also building a distributed system.

The problem

The main issue with MCP, and all LLM tool calling functionality at present, is that it is synchronous with no built-in mechanisms for handling failure.

Even though MCP standardizes a tool calling convention - it ignores all the other issues that arise from building a distributed system and as the developer you are burdened with figuring out:

  • Supervision, such as timeouts, to detect issues
  • Retry logic for application level errors
  • Deduplication and/or idempotency guarantees
  • Recovery for process crashes

The solution

The solution is promises.

The MCP Server Quickstart guide uses weather forecasting as an example use case.

This example flips it around and uses historic weather data gathering as our example, a use case which could take a much longer time and better reflect the need for a background job.

And, instead of a single tool such as get_weather_data, we will create three tools:

  • start_gathering()
  • probe_status()
  • await_result()

The key is that the start_gathering() tool, instead of blocking on the result of the data gather job, kicks off a background job and returns a promise ID.

Integrating Resonate into a MCP server preserves the standardized tool calling while completely transforming it into a Durable Distributed System.

How to run this example

You will need to:

  • edit your claud_desktop_confg.json
  • run a Resonate Server
  • run an MCP transport proxy
  • run the MCP server

Edit claude_desktop_config.json

If you go to Claude's settings, there is a Developers tab which should provide access to the configuration file.

{
  "mcpServers": {
    "weather": {
      "command": "/opt/homebrew/bin/uv", // Path to where uv is
      "args": [
        "--directory",
        "ABSOLUTE/PATH/TO/TOOL/agent-tool-weather-data",
        "run",
        "proxy.py"
      ]
    }
  }
}

Start a Resonate Server

To get the most out of Resonate, you will want to have a Resonate Server running for your MCP Server to connect to.

brew install resonatehq/tap/resonate
resonate serve

Run the proxy

Claude Desktop only connects to local MCP Servers via stdio.

In theory Resonate should be able to work with an MCP Server that runs on a stdio transport, however a bug was discovered that needs to be fixed to enable that.

In the mean time you can run a proxy that coverts a stdio transport to talk with an MCP server running streamable-http transport.

uv run proxy.py

Run the weather data MCP server

Then you can run the weather_data MCP Server:

uv run weather_data.py

README mirrored from the source repository 4 months ago. The original is authoritative.

Questions

About Example Async Tools MCP Server Py

How do I install Example Async Tools MCP Server Py?

Run npx example-async-tools-mcp-server-py, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Example Async Tools MCP Server Py safe to use with an AI agent?

Its trust score is 57 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Example Async Tools MCP Server Py still maintained?

The last commit was a year ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.