Skip to main content

systems-mcp

systems-mcp is an MCP server for interacting with the lethain:systems library for systems modeling.

It provides two tools:

  • run_systems_model runs the systems specification of a systems model. Takes two parameters, the specification and, optionally, the number of rounds to run the model (defaulting to 100).
  • load_systems_documentation loads documentation and examples into the context window. This is useful for priming models to be more helpful at writing systems models.

It is intended for running locally in conjunction with Claude Desktop or a similar tool.

Usage

Here's an example of using systems-mcp to run and render a model.

Example of prompt for  using systems-mcp

Here is the artifact generated from that prompt, including the output from running the systems model.

Example of artifact for using the output of systems-mcp

Finally, here is an example of using the load_systems_documentation tool to prime the context window and using it to help generate a systems specification. This is loosely equivalent to including lethain:systems/README.md in the context window, but also includes a handful of additional examples (see the included files in ./docs/.

Example prompt of loading documentation into context window

Then you can render the model as before.

Example prompt of rendering the generated model

The most interesting piece here is that I've never personally used systems to model a social network, but the LLM was able to do a remarkably decent job at generating a specification despite that.

Installation

These instructions describe installation for Claude Desktop on OS X. It should work similarly on other platforms.

  1. Install Claude Desktop.

  2. Clone systems-mcp into a convenient location, I'm assuming /Users/will/systems-mcp

  3. Make sure you have uv installed, you can follow these instructions

  4. Go to Cladue Desktop, Setting, Developer, and have it create your MCP config file. Then you want to update your claude_desktop_config.json. (Note that you should replace will with your user, e.g. the output of whoami.

     cd  ~/Library/Application\ Support/Claude/
     vi claude_desktop_config.json
    

    Then add this section:

     {
       "mcpServers": {
         "systems": {
           "command": "uv",
           "args": [
             "--directory",
             "/Users/will/systems-mcp",
             "run",
             "main.py"
           ]
         }
       }
     }
    
  5. Close Claude and reopen it.

  6. It should work...

Metadata

Release files for iflow-mcp_lethain-systems-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_lethain-systems-mcp 0.1.1
File Size Uploaded
iflow_mcp_lethain_systems_mcp-0.1.1.tar.gz 4.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_lethain-systems-mcp 0.1.1
File Interpreter ABI Platform
iflow_mcp_lethain_systems_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 8.7 kB

Release files / iflow_mcp_lethain_systems_mcp-0.1.1.tar.gz

Download URL iflow_mcp_lethain_systems_mcp-0.1.1.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
6464497c180838574b8376619d7cba39a816ab576b73a5fd659ae987d8f1bd2a
BLAKE2b-256 checksum
How to use checksums
4c04c692267450a6287da31614e6b42db4a81587d10e3f9d074a22a2af9f966a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_lethain_systems_mcp-0.1.1-py3-none-any.whl

Download URL iflow_mcp_lethain_systems_mcp-0.1.1-py3-none-any.whl
Size 4.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b491d19c7768d9d11d5d78a676f7abd177c68d4a270e01a8430108175d12282e
BLAKE2b-256 checksum
How to use checksums
f5229801472d4d46aa5ff70ec61366c6f60f6aac57cb8b3716bcad7d4e518904
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page