Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Unofficial, self-hosted MCP server for the documented OpenSolar API.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
OPENSOLAR_API_TOKEN, OPENSOLAR_ORG_ID, OPENSOLAR_PROFILE, OPENSOLAR_READ_ONLY, OPENSOLAR_PLAN, OPENSOLAR_TOOLSETS, OPENSOLAR_UPLOAD_ROOTLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"opensolar": {
"command": "npx",
"args": [
"-y",
"@alignco/opensolar-mcp"
],
"env": {
"OPENSOLAR_API_TOKEN": "your-value",
"OPENSOLAR_ORG_ID": "your-value",
"OPENSOLAR_PROFILE": "your-value",
"OPENSOLAR_READ_ONLY": "your-value",
"OPENSOLAR_PLAN": "your-value",
"OPENSOLAR_TOOLSETS": "your-value",
"OPENSOLAR_UPLOAD_ROOT": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add opensolar --env OPENSOLAR_API_TOKEN=your-value --env OPENSOLAR_ORG_ID=your-value --env OPENSOLAR_PROFILE=your-value --env OPENSOLAR_READ_ONLY=your-value --env OPENSOLAR_PLAN=your-value --env OPENSOLAR_TOOLSETS=your-value --env OPENSOLAR_UPLOAD_ROOT=your-value -- npx -y @alignco/opensolar-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"opensolar": {
"command": "npx",
"args": [
"-y",
"@alignco/opensolar-mcp"
],
"env": {
"OPENSOLAR_API_TOKEN": "your-value",
"OPENSOLAR_ORG_ID": "your-value",
"OPENSOLAR_PROFILE": "your-value",
"OPENSOLAR_READ_ONLY": "your-value",
"OPENSOLAR_PLAN": "your-value",
"OPENSOLAR_TOOLSETS": "your-value",
"OPENSOLAR_UPLOAD_ROOT": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"opensolar": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@alignco/opensolar-mcp"
],
"env": {
"OPENSOLAR_API_TOKEN": "your-value",
"OPENSOLAR_ORG_ID": "your-value",
"OPENSOLAR_PROFILE": "your-value",
"OPENSOLAR_READ_ONLY": "your-value",
"OPENSOLAR_PLAN": "your-value",
"OPENSOLAR_TOOLSETS": "your-value",
"OPENSOLAR_UPLOAD_ROOT": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
OPENSOLAR_PROFILE envOPENSOLAR_READ_ONLY envOPENSOLAR_PLAN envOPENSOLAR_TOOLSETS envOPENSOLAR_UPLOAD_ROOT envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub Align-Software-Company, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: OPENSOLAR_API_TOKEN, OPENSOLAR_ORG_ID
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.3) llegó al registro hace 39 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js, Docker en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Give Claude, Cursor, VS Code, and any other MCP client safe, structured access to your OpenSolar organisation.
Unofficial · Self-hosted · Bring your own OpenSolar API token
Quick start · Connect a client · Tools · Configuration · Remote deployment · Security · Troubleshooting
OpenSolar MCP is a Model Context Protocol server for the documented OpenSolar API. It runs on your machine or your infrastructure, uses your own OpenSolar credentials, and gives AI agents a curated set of tools for projects, contacts, systems, files, commercial settings, and Teams sharing.
flowchart LR
client["MCP client Claude · Cursor · VS Code · Codex"] server["OpenSolar MCP runs where you run it"] api[("OpenSolar API api.opensolar.com")] client -- "stdio or Streamable HTTP" --> server server -- "HTTPS with your bearer token" --> api
[!IMPORTANT]
This project is not affiliated with, endorsed by, or maintained by OpenSolar Pty Ltd. It calls only the public, documented OpenSolar API and does not operate a shared or hosted OpenSolar service.
unique, ambiguous, or incomplete, and agents are told not to guess. Writes are never retried automatically, and read-only mode removes every mutation.| Ask your agent… | What happens |
|---|---|
| "Find the Harbour Street project and summarise where it's at." | search_projects finds the project, then get_project_snapshot reads its workflow stage, systems, and files. |
| "Compare the system options on that project." | compare_project_systems lines up size, annual output, price, price per watt, and hardware without ranking them. |
| "Move it to Installing." | update_project_stage resolves the stage name on the project's workflow and refuses ambiguous or archived matches. |
| "What's the payback and NPV on the proposal?" | get_proposal_data returns payback year, NPV, IRR, and ROI. Requires Raw Data API Access. |
| "Add Jordan Lee as a contact, unless they already exist." | search_contacts checks for existing matches first, then create_contact adds the person. |
| "Generate the proposal PDF for that project." | generate_project_document has OpenSolar save the document as a private file and returns the file ID. |
| "Can we share this project with our installer partner?" | preflight_project_share checks the connection and shared entities without changing anything. |
Requirements
get_proposal_data or get_project_design[!TIP]
Standard OpenSolar user tokens expire after seven days. For a long-running setup, create a dedicated OpenSolar user for API work and make it a machine user, whose token does not expire. This server never changes that setting for you.
1. See the tools you'll get (no credentials needed):
npx -y @alignco/opensolar-mcp --list-tools
2. Check your configuration and token:
OPENSOLAR_API_TOKEN=your_token OPENSOLAR_ORG_ID=12345 \
npx -y @alignco/opensolar-mcp --check
--check makes one read of your organisation. Add --no-probe to validate the configuration without contacting OpenSolar.
3. Add it to your MCP client using one of the options below.
Every client needs the same two settings: OPENSOLAR_API_TOKEN and OPENSOLAR_ORG_ID. Replace your_token and 12345 below with your own values.
Claude Code
claude mcp add opensolar \
-e OPENSOLAR_API_TOKEN=your_token \ -e OPENSOLAR_ORG_ID=12345 \ -- npx -y @alignco/opensolar-mcp
Add --scope user to make it available in every project.
Claude Desktop
Open Settings → Developer → Edit Config and add:
{
"mcpServers": { "opensolar": { "command": "npx", "args": ["-y", "@alignco/opensolar-mcp"], "env": { "OPENSOLAR_API_TOKEN": "your_token", "OPENSOLAR_ORG_ID": "12345" } } } }
Restart Claude Desktop after saving.
Cursor
Use the Add to Cursor button above, or add this to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": { "opensolar": { "command": "npx", "args": ["-y", "@alignco/opensolar-mcp"], "env": { "OPENSOLAR_API_TOKEN": "your_token", "OPENSOLAR_ORG_ID": "12345" } } } }
VS Code
Use the Install in VS Code button above, or add this to .vscode/mcp.json. VS Code prompts for the token and stores it securely:
{
"inputs": [ { "type": "promptString", "id": "opensolar_api_token", "description": "OpenSolar API token", "password": true }, { "type": "promptString", "id": "opensolar_org_id", "description": "OpenSolar organisation ID" } ], "servers": { "opensolar": { "type": "stdio", "command": "npx", "args": ["-y", "@alignco/opensolar-mcp"], "env": { "OPENSOLAR_API_TOKEN": "${input:opensolar_api_token}", "OPENSOLAR_ORG_ID": "${input:opensolar_org_id}" } } } }
Windsurf
Add this to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "opensolar": { "command": "npx", "args": ["-y", "@alignco/opensolar-mcp"], "env": { "OPENSOLAR_API_TOKEN": "your_token", "OPENSOLAR_ORG_ID": "12345" } } } }
OpenAI Codex
Add this to ~/.codex/config.toml:
[mcp_servers.opensolar]
command = "npx" args = ["-y", "@alignco/opensolar-mcp"] env = { OPENSOLAR_API_TOKEN = "your_token", OPENSOLAR_ORG_ID = "12345" }
Gemini CLI
Add this to ~/.gemini/settings.json:
{
"mcpServers": { "opensolar": { "command": "npx", "args": ["-y", "@alignco/opensolar-mcp"], "env": { "OPENSOLAR_API_TOKEN": "your_token", "OPENSOLAR_ORG_ID": "12345" } } } }
Any other MCP client
Run npx -y @alignco/opensolar-mcp as a stdio server with OPENSOLAR_API_TOKEN and OPENSOLAR_ORG_ID in its environment. For a client that connects over HTTP, see Remote deployment.
To install the command once instead of through npx:
npm install -g @alignco/opensolar-mcp
opensolar-mcp --version
[!TIP]
Start with
OPENSOLAR_READ_ONLY=1in theenvblock while you get comfortable. It removes every tool that can change OpenSolar data.
A profile is a curated operating surface. Toolsets are functional areas you can select directly. Read-only mode and the access-plan filter apply on top of either.
| Surface | Tools | Use it for |
|---|---|---|
agent (default) | 31 | Everyday project, contact, system, file, and sharing work |
agent + OPENSOLAR_READ_ONLY=1 | 22 | Research, reporting, and trying things out safely |
agent + OPENSOLAR_PLAN=api_access | 29 | Organisations without Raw Data API Access |
full | 75 | Administration: component catalogs, workflows, webhooks, deletes, and Teams setup |
--list-tools always prints the exact surface your settings produce:
npx -y @alignco/opensolar-mcp --list-tools
OPENSOLAR_PROFILE=full npx -y @alignco/opensolar-mcp --list-tools OPENSOLAR_TOOLSETS=webhooks npx -y @alignco/opensolar-mcp --list-tools
agent tools✏️ marks tools that change OpenSolar data. 🔒 marks tools that need Raw Data API Access.
| Area | Tools |
|---|---|
| Projects | search_projects · list_projects · get_project · get_project_snapshot · create_project ✏️ · update_project ✏️ · update_project_stage ✏️ · update_project_usage ✏️ |
| Contacts | search_contacts · list_contacts · get_contact · create_contact ✏️ · update_contact ✏️ |
| Organisation | get_org · list_roles |
| Systems | compare_project_systems · get_system_details |
| Commercial | list_payment_options · list_pricing_schemes · list_costings |
| Files & documents | list_private_files · get_private_file · create_private_file ✏️ · `
Solo se muestra el principio; lee el resto en el repo