@systemdox/mcp-server 0.1.28 → 0.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -2000,7 +2000,7 @@ var init_server = __esm({
2000
2000
  init_create_project_rule();
2001
2001
  init_get_prompt_templates();
2002
2002
  init_create_prompt_template();
2003
- SERVER_VERSION = true ? "0.1.28" : "0.0.0-dev";
2003
+ SERVER_VERSION = true ? "0.1.29" : "0.0.0-dev";
2004
2004
  }
2005
2005
  });
2006
2006
 
package/dist/http.js CHANGED
@@ -117,6 +117,25 @@ var SystemDoxApiClient = class {
117
117
  }
118
118
  };
119
119
 
120
+ // src/lib/config.ts
121
+ var API_URL_DEFAULT = "https://api.puglieseweb.com/systemdox";
122
+ function requireHttpsApiUrl(apiUrl) {
123
+ let parsed;
124
+ try {
125
+ parsed = new URL(apiUrl);
126
+ } catch {
127
+ throw new Error(
128
+ `SYSTEMDOX_API_URL is not a valid URL: ${apiUrl}`
129
+ );
130
+ }
131
+ if (parsed.protocol !== "https:") {
132
+ throw new Error(
133
+ `SYSTEMDOX_API_URL must use https:// \u2014 refusing to send the API key over ${parsed.protocol}// in cleartext. Got: ${apiUrl}`
134
+ );
135
+ }
136
+ return apiUrl;
137
+ }
138
+
120
139
  // src/lib/metrics.ts
121
140
  var NAMESPACE = "SystemDox/Mcp";
122
141
  var METRIC_NAME = "McpToolCall";
@@ -1825,7 +1844,7 @@ function registerCreatePromptTemplate(server, apiClient) {
1825
1844
  }
1826
1845
 
1827
1846
  // src/server.ts
1828
- var SERVER_VERSION = true ? "0.1.28" : "0.0.0-dev";
1847
+ var SERVER_VERSION = true ? "0.1.29" : "0.0.0-dev";
1829
1848
  function createServer(apiClient) {
1830
1849
  const server = new McpServer({
1831
1850
  name: "systemdox-mcp-server",
@@ -1896,9 +1915,16 @@ async function handler(event) {
1896
1915
  }
1897
1916
  const rawBody = event.isBase64Encoded ? Buffer.from(event.body ?? "", "base64").toString("utf8") : event.body ?? "";
1898
1917
  emitMcpToolCalls(keyTenant, rawBody);
1918
+ let apiUrl;
1919
+ try {
1920
+ apiUrl = requireHttpsApiUrl(process.env.SYSTEMDOX_API_URL ?? API_URL_DEFAULT);
1921
+ } catch (err) {
1922
+ console.error("Refusing to proxy MCP tool calls:", err);
1923
+ return jsonError(500, "Server misconfigured: API URL must use https://");
1924
+ }
1899
1925
  const apiClient = new SystemDoxApiClient({
1900
1926
  apiKey,
1901
- apiUrl: process.env.SYSTEMDOX_API_URL ?? "https://api.puglieseweb.com/systemdox",
1927
+ apiUrl,
1902
1928
  cacheTtlMs: 0,
1903
1929
  // per-request client; never cache across invocations
1904
1930
  defaultOrg: void 0
package/dist/index.js CHANGED
@@ -1826,7 +1826,7 @@ function registerCreatePromptTemplate(server2, apiClient2) {
1826
1826
  }
1827
1827
 
1828
1828
  // src/server.ts
1829
- var SERVER_VERSION = true ? "0.1.28" : "0.0.0-dev";
1829
+ var SERVER_VERSION = true ? "0.1.29" : "0.0.0-dev";
1830
1830
  function createServer(apiClient2) {
1831
1831
  const server2 = new McpServer({
1832
1832
  name: "systemdox-mcp-server",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@systemdox/mcp-server",
3
- "version": "0.1.28",
3
+ "version": "0.1.29",
4
4
  "mcpName": "io.github.puglieseweb/systemdox",
5
5
  "type": "module",
6
6
  "description": "Give AI coding agents your architecture context over MCP — checks, specs, ADRs, project rules, and docs from SystemDox, delivered at write time",