feat: complete SHD MCP plugin workflows and widget
Validate SHD MCP plugin / validate (push) Has been cancelled
Validate SHD MCP plugin / validate (push) Has been cancelled
This commit is contained in:
@@ -10,9 +10,13 @@ The package contains:
|
||||
|
||||
- `.codex-plugin/plugin.json` — plugin metadata;
|
||||
- `.mcp.json` — the official SHD Streamable HTTP MCP endpoint;
|
||||
- `skills/` — routing, project, ProjectBase, task, file, finance and CRM
|
||||
workflows;
|
||||
- `skills/` — routing, project, ProjectBase, task, file, finance, CRM,
|
||||
analytics, estimates, scheduling, entity resolution, Wiki, discussions,
|
||||
documents, organizations/ACL, notifications, inventory, agents, status-page,
|
||||
realtime/activity, Terms/contracts and Gitea workflows;
|
||||
- `assets/` — plugin branding;
|
||||
- `widgets/` — versioned MCP Apps resources with manifest, checksum and
|
||||
provenance metadata;
|
||||
- `.agents/plugins/marketplace.json` — a ready local marketplace entry.
|
||||
|
||||
It does not contain the SHD Laravel application, database code or credentials.
|
||||
@@ -36,6 +40,36 @@ git clone https://git.xyz.su/shd/shd-mcp-plugin.git
|
||||
|
||||
After installation, start a new Codex thread so the plugin Skills are loaded.
|
||||
|
||||
## ChatGPT custom app
|
||||
|
||||
ChatGPT uses the same SHD MCP server connection, but it is added separately in
|
||||
the ChatGPT account: open Settings → Apps/Connectors → Developer mode, create
|
||||
a custom app and set the MCP URL to `https://shd.xyz.su/mcp`. Complete the SHD
|
||||
OAuth flow and refresh the app after server metadata changes.
|
||||
|
||||
The active-projects result can render an inline MCP Apps widget. It is a small
|
||||
read-only dashboard with:
|
||||
|
||||
- `Проект → Дата завершения → Статус`;
|
||||
- sorting by the nearest deadline;
|
||||
- local search by project name/code;
|
||||
- a refresh action and a read-only project-details panel.
|
||||
|
||||
If the host does not support MCP Apps UI, the data tool and the plain Markdown
|
||||
table remain fully usable.
|
||||
|
||||
The backend serves the checked-in widget artifact at
|
||||
`ui://shd/active-projects/v1.html`; its manifest and `SHA256SUMS` are kept next
|
||||
to the HTML resource under `plugins/shd-mcp-plugin/widgets/active-projects/v1/`.
|
||||
|
||||
The official OpenAI directory is optional. It is useful for public discovery,
|
||||
one-click installation and review of a public app; it is not required for an
|
||||
internal team or a manually added ChatGPT custom app. See the official
|
||||
[MCP server guide](https://developers.openai.com/plugins/build/mcp-server),
|
||||
[UI guide](https://developers.openai.com/plugins/build/chatgpt-ui), and
|
||||
[submission guide](https://developers.openai.com/plugins/deploy/submission)
|
||||
when public listing is the goal.
|
||||
|
||||
## Connect SHD
|
||||
|
||||
Installation and authorization are separate steps:
|
||||
@@ -63,9 +97,24 @@ repository packages the workflows; it does not grant access to the server.
|
||||
the project is archived; verify permissions in SHD.
|
||||
- **A write is rejected:** the server ACL, required role, version or conflict
|
||||
check rejected it. Do not bypass the error with a different token.
|
||||
- **A module is not covered by a dedicated skill:** use `shd-routing`; the MCP
|
||||
server still exposes the current authenticated tool catalog, while skills
|
||||
provide focused workflow and safety guidance for common module operations.
|
||||
- **Another SHD installation is required:** use its approved MCP URL and its
|
||||
OAuth resource in the client's secure connection configuration.
|
||||
|
||||
## Local validation
|
||||
|
||||
From the repository root:
|
||||
|
||||
```bash
|
||||
python3 -m unittest discover -s tests -v
|
||||
sha256sum --check plugins/shd-mcp-plugin/widgets/active-projects/v1/SHA256SUMS
|
||||
```
|
||||
|
||||
The full release boundary, including backend deployment and authenticated
|
||||
ChatGPT/browser checks, is documented in [RELEASE.md](RELEASE.md).
|
||||
|
||||
## Development
|
||||
|
||||
Keep changes inside the plugin package. Do not copy backend implementation into
|
||||
|
||||
Reference in New Issue
Block a user