A Smart City Env designed for Reinforcement Learning
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.
seed = # given seed env = gym.make("SmartCity-v1337") env.seed(seed)
Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client.
The server publishes 12 tools. What each one is for:
SmartCity-v0 — small envSmartCity-v1 — medium envSmartCity-v2 — big envlights — 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 temperatureenergies_cost — cost of each quantity. This cost is defined for each point of each energyenergies_amount — available amount for energyneeded_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 eliminationlight_interraction — a matrix of shape (#people, #lights). If there's a 1 at [i, j], the citizen i is connected to light lightheaters_interraction — same as lights but for heatersenergy_pollution — pollution factor for each type of enegy (carbon, nuclear, renewable)Energies — The Energies tool exposed by this serverAmong 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.
| Tool | What it does |
|---|---|
| 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 criteria. If you buy more energy that needed, it is stored indefinitely s |
| 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. |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.