Smartcity MCP Server

A Smart City Env designed for Reinforcement Learning

Local serverstdioPython

What is the Smartcity MCP server?

Most developer tooling work still happens through a UI a human drives. Smartcity MCP server moves it into the conversation instead. A Smart City Env designed for Reinforcement Learning.

The short version

seed = # given seed env = gym.make("SmartCity-v1337") env.seed(seed)

Getting it running

Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client.

The tools it exposes

The server publishes 12 tools. What each one is for:

  • SmartCity-v0 — small env
  • SmartCity-v1 — medium env
  • SmartCity-v2 — big env
  • lights — numpy array of size #light. Each light is either 0 (off) or 1 (on)
  • heaters — numpy array of size #heater. Each heater is defined by its temperature
  • energies_cost — cost of each quantity. This cost is defined for each point of each energy
  • energies_amount — available amount for energy
  • needed_energy — the total amount of energy needed. If you don't send enough energy, an exception is raised. During Hackathon submission, it will be an elimination
  • light_interraction — a matrix of shape (#people, #lights). If there's a 1 at [i, j], the citizen i is connected to light light
  • heaters_interraction — same as lights but for heaters
  • energy_pollution — pollution factor for each type of enegy (carbon, nuclear, renewable)
  • Energies — The Energies tool exposed by this server

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 12 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Smartcity.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

How it compares

Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Smartcity's toolset — SmartCity-v0, SmartCity-v1, SmartCity-v2 and 9 more — is a fair guide to whether it matches your workflow. It is maintained by Adrien Pouyet (Ricocotam); worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Smartcity's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Available tools

ToolWhat it does
SmartCity-v0small env
SmartCity-v1medium env
SmartCity-v2big env
lightsnumpy array of size #light. Each light is either 0 (off) or 1 (on)
heatersnumpy array of size #heater. Each heater is defined by its temperature
energies_costcost of each quantity. This cost is defined for each point of each energy
energies_amountavailable amount for energy
needed_energythe total amount of energy needed. If you don't send enough energy, an exception is raised. During Hackathon submission, it will be an elimination criteria. If you buy more energy that needed, it is stored indefinitely s
light_interractiona matrix of shape (#people, #lights). If there's a 1 at [i, j], the citizen i is connected to light light
heaters_interractionsame as lights but for heaters
energy_pollutionpollution factor for each type of enegy (carbon, nuclear, renewable)
EnergiesThe Energies tool exposed by this server.

Example prompts to try

  • Use Smartcity to SmartCity-v0.
  • Use Smartcity to SmartCity-v1.
  • Use Smartcity to SmartCity-v2.

Frequently asked questions

It connects Smartcity to MCP-compatible AI assistants such as Claude and Cursor, exposing 12 tools (SmartCity-v0, SmartCity-v1, SmartCity-v2, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Smartcity directly.