Add publish-mcp.sh so the standalone MCP binary stops going stale
Aspire doesn't run or manage src/Novelly.Mcp — it's a separate stdio process the MCP client spawns from a published binary that nothing rebuilds automatically. It had drifted 12 days out of date and was silently missing the service-API-key auth header, causing confusing 401s. Script wraps the existing dotnet publish command via the shared ensure_dotnet helper; README points at it instead of the raw command. Also registers a UserSecretsId on Novelly.Api so Auth:ServiceApiKey can be set locally without landing in appsettings.
This commit is contained in:
@@ -185,9 +185,14 @@ its own — it is a second front end, not a second implementation.
|
||||
Build it, then point your MCP client at the produced binary:
|
||||
|
||||
```bash
|
||||
dotnet publish src/Novelly.Mcp -c Release -o ./mcp-server
|
||||
./scripts/publish-mcp.sh
|
||||
```
|
||||
|
||||
Aspire does not run or manage this process — it's a separate stdio subprocess your MCP
|
||||
client spawns directly, so nothing rebuilds it automatically. Re-run the script (and
|
||||
reconnect your MCP client) after pulling changes that touch `src/Novelly.Mcp`, or it keeps
|
||||
serving whatever was published last, including against a stale auth contract.
|
||||
|
||||
`.mcp.json` (or Claude Desktop's config):
|
||||
|
||||
```jsonc
|
||||
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
# Rebuilds the standalone Novelly.Mcp binary that Claude Code (or Claude Desktop) spawns
|
||||
# per .mcp.json. Aspire does not run or manage this process, so nothing else rebuilds it —
|
||||
# run this after pulling changes that touch src/Novelly.Mcp, or the MCP server silently
|
||||
# keeps serving whatever was published last.
|
||||
set -euo pipefail
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")/.." && source ./scripts/ci/lib.sh
|
||||
cd "$CI_ROOT"
|
||||
|
||||
ensure_dotnet
|
||||
|
||||
log "Publishing Novelly.Mcp to ./mcp-server"
|
||||
dotnet publish src/Novelly.Mcp -c Release -o ./mcp-server
|
||||
|
||||
log "Done. Reconnect the MCP server (e.g. /mcp in Claude Code) to pick up the new build."
|
||||
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Novelly.ServiceDefaults\Novelly.ServiceDefaults.csproj" />
|
||||
@@ -24,6 +24,7 @@
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<UserSecretsId>fb455630-f631-46bb-9c60-0deaf01c593e</UserSecretsId>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user