Unofficial, self-hosted MCP server for the documented OpenSolar API.
Inferido de los transportes que declara este listado (stdio). Que un cliente no aparezca aquí no significa que se haya descartado: simplemente Forge no puede confirmarlo.
OPENSOLAR_API_TOKENClave de APIobligatoriaOpenSolar bearer token
Declarado por el autor en el registro oficial de MCP. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.
La verificación confirma la identidad del publicador (la propiedad del repo), no la seguridad del código. El análisis de seguridad cubre los CVE conocidos y los scripts de instalación sospechosos.
Leído del código que npm publica realmente, en el momento del análisis. El paquete nunca se ejecutó. Las herramientas registradas dinámicamente en tiempo de ejecución, o escondidas en código empaquetado o minificado, pueden pasarse por alto — así que esto es un mínimo de la superficie de herramientas, no un censo completo.
list_costingsLists one page of costings as `{ costings, page, limit }`. The only optional filter is boolean priority. Per-unit rates are omitted.Lists one page of costings as `{ costings, page, limit }`. The only optional filter is boolean priority. Per-unit rates are omitted.
No se publicó ningún esquema de entrada para esta herramienta.
get_costingReturns one costing by id: title, description, and boolean priority. Per-unit rates are omitted.Returns one costing by id: title, description, and boolean priority. Per-unit rates are omitted.
No se publicó ningún esquema de entrada para esta herramienta.
delete_costingprivilegiadaRemoves the costing from the live org. This call is not retried.Removes the costing from the live org. This call is not retried.
No se publicó ningún esquema de entrada para esta herramienta.
list_contactsLists one page of contacts as `{ contacts }`. Each contact includes `is_synthetic_email` for `@os.code` addresses. Passport, licence, and date of birth are redacted. Contacts have no created_date or modified_date.Lists one page of contacts as `{ contacts }`. Each contact includes `is_synthetic_email` for `@os.code` addresses. Passport, licence, and date of birth are redacted. Contacts have no created_date or modified_date.
No se publicó ningún esquema de entrada para esta herramienta.
search_contactsSin descripción publicadaEsta herramienta no publicó ninguna descripción. Forge no se la inventa.
get_contactReturns one contact by id, including `is_synthetic_email`. Passport, licence, and date of birth are redacted. Contacts have no created_date or modified_date.Returns one contact by id, including `is_synthetic_email`. Passport, licence, and date of birth are redacted. Contacts have no created_date or modified_date.
No se publicó ningún esquema de entrada para esta herramienta.
create_contactAdds a person to the live org. Send only first_name, family_name, email, and phone. This call is not retried.Adds a person to the live org. Send only first_name, family_name, email, and phone. This call is not retried.
No se publicó ningún esquema de entrada para esta herramienta.
update_contactUpdates a person in the live org. Send at least one of first_name, family_name, email, and phone. This call is not retried.Updates a person in the live org. Send at least one of first_name, family_name, email, and phone. This call is not retried.
No se publicó ningún esquema de entrada para esta herramienta.
delete_contactprivilegiadaRemoves the person from the live org. This call is not retried.Removes the person from the live org. This call is not retried.
No se publicó ningún esquema de entrada para esta herramienta.
get_eventReturns one event by id. Adds `event_type_name` and omits `url` and `org`. Use an id from get_project events. Unknown types become `Unknown event type`.Returns one event by id. Adds `event_type_name` and omits `url` and `org`. Use an id from get_project events. Unknown types become `Unknown event type`.
No se publicó ningún esquema de entrada para esta herramienta.
list_event_typesReturns the OpenSolar event type ids and titles, including gaps. This is a copied docs table, not an API call.Returns the OpenSolar event type ids and titles, including gaps. This is a copied docs table, not an API call.
No se publicó ningún esquema de entrada para esta herramienta.
list_private_filesLists one page of private files as `{ private_files, page, limit }`. Each row is id, title, file tag titles, and project id. The download URL is omitted.Lists one page of private files as `{ private_files, page, limit }`. Each row is id, title, file tag titles, and project id. The download URL is omitted.
No se publicó ningún esquema de entrada para esta herramienta.
get_private_fileReturns one private file by id: title, file tag titles, project id, and size when OpenSolar sent it. The download URL stays on the server. `include_contents: true` downloads the file and refuses a body over 10 MB. Text is included for the model, capped at 100,000 characters. Images are image conten…Returns one private file by id: title, file tag titles, project id, and size when OpenSolar sent it. The download URL stays on the server. `include_contents: true` downloads the file and refuses a body over 10 MB. Text is included for the model, capped at 100,000 characters. Images are image conten…
No se publicó ningún esquema de entrada para esta herramienta.
create_private_fileCreates a private file in the live org from a path confined to OPENSOLAR_UPLOAD_ROOT on this server. Uploads are disabled until that root is configured. The resolved real path must remain inside the root, including through symlinks. The server reads that file as multipart title and file_contents. F…Creates a private file in the live org from a path confined to OPENSOLAR_UPLOAD_ROOT on this server. Uploads are disabled until that root is configured. The resolved real path must remain inside the root, including through symlinks. The server reads that file as multipart title and file_contents. F…
No se publicó ningún esquema de entrada para esta herramienta.
update_private_fileUpdates a private file title in the live org. The published sample sends only title. The download URL is omitted. This call is not retried.Updates a private file title in the live org. The published sample sends only title. The download URL is omitted. This call is not retried.
No se publicó ningún esquema de entrada para esta herramienta.
delete_private_fileprivilegiadaRemoves the private file from the live org. This call is not retried.Removes the private file from the live org. This call is not retried.
No se publicó ningún esquema de entrada para esta herramienta.
generate_project_documentCreates a project document in the live org and returns the private file id. Omit format for the document type's default. pdf and csv set file_format on generate_document; docx calls generate_document_docx. The call sends action=save so OpenSolar stores a private file. File bytes are not returned. U…Creates a project document in the live org and returns the private file id. Omit format for the document type's default. pdf and csv set file_format on generate_document; docx calls generate_document_docx. The call sends action=save so OpenSolar stores a private file. File bytes are not returned. U…
No se publicó ningún esquema de entrada para esta herramienta.
get_orgReturns the connected OpenSolar org: id, name, address, contact info, and measurement units. `verbose: true` returns the full redacted payload.Returns the connected OpenSolar org: id, name, address, contact info, and measurement units. `verbose: true` returns the full redacted payload.
No se publicó ningún esquema de entrada para esta herramienta.
list_rolesLists roles in the connected org as `{ roles }`: id, display, email, phone, job title, and is_admin. Chat API keys are omitted.Lists roles in the connected org as `{ roles }`: id, display, email, phone, job title, and is_admin. Chat API keys are omitted.
No se publicó ningún esquema de entrada para esta herramienta.
get_roleReturns one role by id: display, email, phone, job title, and is_admin. Chat API keys are omitted. Optional fieldset is list only.Returns one role by id: display, email, phone, job title, and is_admin. Chat API keys are omitted. Optional fieldset is list only.
No se publicó ningún esquema de entrada para esta herramienta.
list_payment_optionsLists one page of payment options as `{ payment_options, page, limit }`. Optional filters are payment_type, auto_apply_enabled, and priority. `configuration_json` is omitted.Lists one page of payment options as `{ payment_options, page, limit }`. Optional filters are payment_type, auto_apply_enabled, and priority. `configuration_json` is omitted.
No se publicó ningún esquema de entrada para esta herramienta.
get_payment_optionReturns one payment option by id: title, payment type, priority, auto-apply, and archived. `configuration_json` is omitted.Returns one payment option by id: title, payment type, priority, auto-apply, and archived. `configuration_json` is omitted.
No se publicó ningún esquema de entrada para esta herramienta.
delete_payment_optionprivilegiadaRemoves the payment option from the live org. This call is not retried.Removes the payment option from the live org. This call is not retried.
No se publicó ningún esquema de entrada para esta herramienta.
list_pricing_schemesLists one page of pricing schemes as `{ pricing_schemes, page, limit }`. Optional filters are priority, auto_apply_enabled, and pricing_formula. `configuration_json` is omitted.Lists one page of pricing schemes as `{ pricing_schemes, page, limit }`. Optional filters are priority, auto_apply_enabled, and pricing_formula. `configuration_json` is omitted.
No se publicó ningún esquema de entrada para esta herramienta.
get_pricing_schemeReturns one pricing scheme by id: title, formula, priority, auto-apply, and archived. `configuration_json` is omitted.Returns one pricing scheme by id: title, formula, priority, auto-apply, and archived. `configuration_json` is omitted.
No se publicó ningún esquema de entrada para esta herramienta.
delete_pricing_schemeprivilegiadaRemoves the pricing scheme from the live org. This call is not retried.Removes the pricing scheme from the live org. This call is not retried.
No se publicó ningún esquema de entrada para esta herramienta.
list_projectsLists one page of projects in the connected org. Default result is `{ projects, page, limit }` with id, title, address, dates, stage, stage_milestone, and workflow ids when OpenSolar sent them. `verbose: true` returns `{ projects, page, limit }` with the full redacted list objects. Use search_proje…Lists one page of projects in the connected org. Default result is `{ projects, page, limit }` with id, title, address, dates, stage, stage_milestone, and workflow ids when OpenSolar sent them. `verbose: true` returns `{ projects, page, limit }` with the full redacted list objects. Use search_proje…
No se publicó ningún esquema de entrada para esta herramienta.
search_projectsSin descripción publicadaEsta herramienta no publicó ninguna descripción. Forge no se la inventa.
get_projectReturns one project by id: address, stage, stage_milestone, workflow ids, contacts, assigned role, system_count, design_available, and events. Use it for fields a search row does not include. When search_projects reports `resolution: unique`, that target does not need this call before a write. `ver…Returns one project by id: address, stage, stage_milestone, workflow ids, contacts, assigned role, system_count, design_available, and events. Use it for fields a search row does not include. When search_projects reports `resolution: unique`, that target does not need this call before a write. `ver…
No se publicó ningún esquema de entrada para esta herramienta.
get_project_snapshotSin descripción publicadaEsta herramienta no publicó ninguna descripción. Forge no se la inventa.
create_projectCreates a project in the live org. A new project can be blocked when the wallet is empty. API Access uses project-level paid entitlement while it is enabled. This call is not retried.Creates a project in the live org. A new project can be blocked when the wallet is empty. API Access uses project-level paid entitlement while it is enabled. This call is not retried.
No se publicó ningún esquema de entrada para esta herramienta.
update_projectUpdates address, notes, and related fields on one project in the live org. Send at least one field besides id. Stage, design, workflow, and usage are not accepted. This call is not retried.Updates address, notes, and related fields on one project in the live org. Send at least one field besides id. Stage, design, workflow, and usage are not accepted. This call is not retried.
No se publicó ningún esquema de entrada para esta herramienta.
update_project_stageSets the workflow stage on a project in the live org. Send active_stage_id with workflow_id, or stage_name. A stage title is resolved on that workflow and never matches an archived stage. No match or two matches with the same title do not PATCH. The deprecated stage field is not accepted. This call…Sets the workflow stage on a project in the live org. Send active_stage_id with workflow_id, or stage_name. A stage title is resolved on that workflow and never matches an archived stage. No match or two matches with the same title do not PATCH. The deprecated stage field is not accepted. This call…
No se publicó ningún esquema de entrada para esta herramienta.
update_project_usageSets energy consumption on a project in the live org. Only the usage object is sent. values must match the source: one integer for annual, 12, 6, or 4 integers for the period sources, or Low, Medium, or High for estimate. This call is not retried.Sets energy consumption on a project in the live org. Only the usage object is sent. values must match the source: one integer for annual, 12, 6, or 4 integers for the period sources, or Low, Medium, or High for estimate. This call is not retried.
No se publicó ningún esquema de entrada para esta herramienta.
delete_projectprivilegiadaRemoves the project from the live org. This call is not retried.Removes the project from the live org. This call is not retried.
No se publicó ningún esquema de entrada para esta herramienta.
get_proposal_dataReturns proposal figures for one project: system name, annual kWh, monthly kWh, payback year, net present value, IRR, and return on investment. Requires Raw Data API Access. A 402 means this org does not have that plan. One inaccessible project returns 403. A compressed output string is decoded on…Returns proposal figures for one project: system name, annual kWh, monthly kWh, payback year, net present value, IRR, and return on investment. Requires Raw Data API Access. A 402 means this org does not have that plan. One inaccessible project returns 403. A compressed output string is decoded on…
No se publicó ningún esquema de entrada para esta herramienta.
get_project_designSin descripción publicadaEsta herramienta no publicó ninguna descripción. Forge no se la inventa.
list_roof_typesReturns the OpenSolar roof type ids and titles. This is a copied docs table, not an API call.Returns the OpenSolar roof type ids and titles. This is a copied docs table, not an API call.
No se publicó ningún esquema de entrada para esta herramienta.
list_file_tagsReturns private-file tag titles. The title is the identifier. This is a copied docs table, not an API call.Returns private-file tag titles. The title is the identifier. This is a copied docs table, not an API call.
No se publicó ningún esquema de entrada para esta herramienta.
list_project_systemsLists one page of systems for a project as `{ systems, page, limit }`. Each row has id, name, size, module count, battery kWh, annual output, and price. Not the full pricing breakdown.Lists one page of systems for a project as `{ systems, page, limit }`. Each row has id, name, size, module count, battery kWh, annual output, and price. Not the full pricing breakdown.
No se publicó ningún esquema de entrada para esta herramienta.
36 de 40 herramientas publicaron una descripción.
Los nombres y descripciones de las herramientas los escribe el publicador y se muestran literalmente como texto inerte. Son las cadenas que un cliente MCP pasa al modelo, así que Forge las analiza en busca de patrones de inyección de prompts — cualquier hallazgo aparece junto al análisis de seguridad de arriba. «Privilegiada» es una coincidencia de palabra clave en el nombre de la herramienta, no una auditoría de lo que hace: un nombre inofensivo puede hacer cualquier cosa.
Unofficial, self-hosted MCP server for the documented OpenSolar API.
Los nombres enlazados abren el índice de Forge con todas las entradas que se observó que exponen esa herramienta. Ver todas las herramientas indexadas.
No se siguen: peerDependencies. Este árbol cubre solo dependencias en tiempo de ejecución, así que lo que estas arrastren nunca se resolvió.