@codai/axiom-mcp 1.0.6 → 1.0.8

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.
Files changed (195) hide show
  1. package/dist/server.js +1 -1
  2. package/package.json +36 -30
  3. package/scripts/prepublish.js +52 -0
  4. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@codai/axiom-core.json +0 -1
  5. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@codai/axiom-emitter-apiservice.json +0 -1
  6. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@codai/axiom-emitter-batchjob.json +0 -1
  7. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@codai/axiom-emitter-docker.json +0 -1
  8. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@codai/axiom-emitter-webapp.json +0 -1
  9. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@codai/axiom-engine.json +0 -1
  10. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@codai/axiom-policies.json +0 -1
  11. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/aix-ppc64.json +0 -1
  12. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/android-arm.json +0 -1
  13. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/android-arm64.json +0 -1
  14. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/android-x64.json +0 -1
  15. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/darwin-arm64.json +0 -1
  16. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/darwin-x64.json +0 -1
  17. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/freebsd-arm64.json +0 -1
  18. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/freebsd-x64.json +0 -1
  19. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/linux-arm.json +0 -1
  20. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/linux-arm64.json +0 -1
  21. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/linux-ia32.json +0 -1
  22. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/linux-loong64.json +0 -1
  23. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/linux-mips64el.json +0 -1
  24. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/linux-ppc64.json +0 -1
  25. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/linux-riscv64.json +0 -1
  26. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/linux-s390x.json +0 -1
  27. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/linux-x64.json +0 -1
  28. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/netbsd-arm64.json +0 -1
  29. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/netbsd-x64.json +0 -1
  30. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/openbsd-arm64.json +0 -1
  31. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/openbsd-x64.json +0 -1
  32. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/openharmony-arm64.json +0 -1
  33. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/sunos-x64.json +0 -1
  34. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/win32-arm64.json +0 -1
  35. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/win32-ia32.json +0 -1
  36. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@esbuild/win32-x64.json +0 -1
  37. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@jridgewell/sourcemap-codec.json +0 -1
  38. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@modelcontextprotocol/sdk.json +0 -1
  39. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-android-arm-eabi.json +0 -1
  40. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-android-arm64.json +0 -1
  41. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-darwin-arm64.json +0 -1
  42. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-darwin-x64.json +0 -1
  43. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-freebsd-arm64.json +0 -1
  44. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-freebsd-x64.json +0 -1
  45. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf.json +0 -1
  46. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf.json +0 -1
  47. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-linux-arm64-gnu.json +0 -1
  48. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-linux-arm64-musl.json +0 -1
  49. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-linux-loong64-gnu.json +0 -1
  50. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu.json +0 -1
  51. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu.json +0 -1
  52. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-linux-riscv64-musl.json +0 -1
  53. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-linux-s390x-gnu.json +0 -1
  54. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-linux-x64-gnu.json +0 -1
  55. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-linux-x64-musl.json +0 -1
  56. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-openharmony-arm64.json +0 -1
  57. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-win32-arm64-msvc.json +0 -1
  58. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-win32-ia32-msvc.json +0 -1
  59. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-win32-x64-gnu.json +0 -1
  60. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@rollup/rollup-win32-x64-msvc.json +0 -1
  61. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@types/estree.json +0 -1
  62. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@types/node.json +0 -1
  63. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@vitest/expect.json +0 -1
  64. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@vitest/mocker.json +0 -1
  65. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@vitest/pretty-format.json +0 -1
  66. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@vitest/runner.json +0 -1
  67. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@vitest/snapshot.json +0 -1
  68. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@vitest/spy.json +0 -1
  69. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/@vitest/utils.json +0 -1
  70. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/accepts.json +0 -1
  71. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/ajv.json +0 -1
  72. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/assertion-error.json +0 -1
  73. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/body-parser.json +0 -1
  74. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/bytes.json +0 -1
  75. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/cac.json +0 -1
  76. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/call-bind-apply-helpers.json +0 -1
  77. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/call-bound.json +0 -1
  78. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/chai.json +0 -1
  79. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/check-error.json +0 -1
  80. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/content-disposition.json +0 -1
  81. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/content-type.json +0 -1
  82. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/cookie-signature.json +0 -1
  83. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/cookie.json +0 -1
  84. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/cors.json +0 -1
  85. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/cross-spawn.json +0 -1
  86. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/debug.json +0 -1
  87. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/deep-eql.json +0 -1
  88. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/depd.json +0 -1
  89. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/dunder-proto.json +0 -1
  90. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/ee-first.json +0 -1
  91. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/encodeurl.json +0 -1
  92. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/es-define-property.json +0 -1
  93. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/es-errors.json +0 -1
  94. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/es-module-lexer.json +0 -1
  95. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/es-object-atoms.json +0 -1
  96. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/esbuild.json +0 -1
  97. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/escape-html.json +0 -1
  98. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/estree-walker.json +0 -1
  99. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/etag.json +0 -1
  100. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/eventsource-parser.json +0 -1
  101. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/eventsource.json +0 -1
  102. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/expect-type.json +0 -1
  103. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/express-rate-limit.json +0 -1
  104. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/express.json +0 -1
  105. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/fast-deep-equal.json +0 -1
  106. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/fast-json-stable-stringify.json +0 -1
  107. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/finalhandler.json +0 -1
  108. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/forwarded.json +0 -1
  109. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/fresh.json +0 -1
  110. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/fsevents.json +0 -1
  111. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/function-bind.json +0 -1
  112. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/get-intrinsic.json +0 -1
  113. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/get-proto.json +0 -1
  114. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/get-tsconfig.json +0 -1
  115. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/gopd.json +0 -1
  116. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/has-symbols.json +0 -1
  117. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/hasown.json +0 -1
  118. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/http-errors.json +0 -1
  119. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/iconv-lite.json +0 -1
  120. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/inherits.json +0 -1
  121. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/ipaddr.js.json +0 -1
  122. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/is-promise.json +0 -1
  123. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/isexe.json +0 -1
  124. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/json-schema-traverse.json +0 -1
  125. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/loupe.json +0 -1
  126. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/magic-string.json +0 -1
  127. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/math-intrinsics.json +0 -1
  128. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/media-typer.json +0 -1
  129. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/merge-descriptors.json +0 -1
  130. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/mime-db.json +0 -1
  131. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/mime-types.json +0 -1
  132. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/ms.json +0 -1
  133. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/nanoid.json +0 -1
  134. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/negotiator.json +0 -1
  135. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/object-assign.json +0 -1
  136. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/object-inspect.json +0 -1
  137. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/on-finished.json +0 -1
  138. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/once.json +0 -1
  139. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/parseurl.json +0 -1
  140. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/path-key.json +0 -1
  141. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/path-to-regexp.json +0 -1
  142. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/pathe.json +0 -1
  143. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/pathval.json +0 -1
  144. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/picocolors.json +0 -1
  145. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/pkce-challenge.json +0 -1
  146. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/postcss.json +0 -1
  147. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/proxy-addr.json +0 -1
  148. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/punycode.json +0 -1
  149. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/qs.json +0 -1
  150. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/range-parser.json +0 -1
  151. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/raw-body.json +0 -1
  152. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/resolve-pkg-maps.json +0 -1
  153. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/rollup.json +0 -1
  154. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/router.json +0 -1
  155. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/safe-buffer.json +0 -1
  156. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/safer-buffer.json +0 -1
  157. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/send.json +0 -1
  158. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/serve-static.json +0 -1
  159. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/setprototypeof.json +0 -1
  160. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/shebang-command.json +0 -1
  161. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/shebang-regex.json +0 -1
  162. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/side-channel-list.json +0 -1
  163. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/side-channel-map.json +0 -1
  164. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/side-channel-weakmap.json +0 -1
  165. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/side-channel.json +0 -1
  166. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/siginfo.json +0 -1
  167. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/source-map-js.json +0 -1
  168. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/stackback.json +0 -1
  169. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/statuses.json +0 -1
  170. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/std-env.json +0 -1
  171. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/tinybench.json +0 -1
  172. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/tinyexec.json +0 -1
  173. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/tinypool.json +0 -1
  174. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/tinyrainbow.json +0 -1
  175. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/tinyspy.json +0 -1
  176. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/toidentifier.json +0 -1
  177. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/tsx.json +0 -1
  178. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/type-is.json +0 -1
  179. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/typescript.json +0 -1
  180. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/undici-types.json +0 -1
  181. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/unpipe.json +0 -1
  182. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/uri-js.json +0 -1
  183. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/vary.json +0 -1
  184. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/vite-node.json +0 -1
  185. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/vite.json +0 -1
  186. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/vitest.json +0 -1
  187. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/which.json +0 -1
  188. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/why-is-node-running.json +0 -1
  189. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/wrappy.json +0 -1
  190. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/zod-to-json-schema.json +0 -1
  191. package/.pnpm-cache/metadata-v1.3/registry.npmjs.org/zod.json +0 -1
  192. package/src/mcp-stdio.ts +0 -374
  193. package/src/postinstall.ts +0 -40
  194. package/src/server.ts +0 -85
  195. package/tsconfig.json +0 -10
package/src/mcp-stdio.ts DELETED
@@ -1,374 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
4
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
5
- import {
6
- CallToolRequestSchema,
7
- ListToolsRequestSchema,
8
- } from "@modelcontextprotocol/sdk/types.js";
9
-
10
- import { parseAxiomSource } from "@codai/axiom-core/dist/parser.js";
11
- import { validateIR } from "@codai/axiom-core/dist/validator.js";
12
- import { AxiomIR } from "@codai/axiom-core/dist/ir.js";
13
- import { generate } from "@codai/axiom-engine/dist/generate.js";
14
- import { check } from "@codai/axiom-engine/dist/check.js";
15
- import { reverseIR } from "@codai/axiom-engine/dist/reverse-ir.js";
16
- import { diff } from "@codai/axiom-engine/dist/axpatch.js";
17
- import { apply } from "@codai/axiom-engine/dist/apply.js";
18
-
19
- const server = new Server(
20
- {
21
- name: "axiom-mcp",
22
- version: "1.0.2",
23
- },
24
- {
25
- capabilities: {
26
- tools: {},
27
- },
28
- }
29
- );
30
-
31
- server.setRequestHandler(ListToolsRequestSchema, async () => {
32
- return {
33
- tools: [
34
- {
35
- name: "axiom_parse",
36
- description: "Parse .axm source code to IR (Intermediate Representation)",
37
- inputSchema: {
38
- type: "object",
39
- properties: {
40
- source: {
41
- type: "string",
42
- description: "AXIOM source code (.axm)",
43
- },
44
- },
45
- required: ["source"],
46
- },
47
- },
48
- {
49
- name: "axiom_validate",
50
- description: "Validate IR semantics and constraints",
51
- inputSchema: {
52
- type: "object",
53
- properties: {
54
- ir: {
55
- type: "object",
56
- description: "AXIOM IR object",
57
- },
58
- },
59
- required: ["ir"],
60
- },
61
- },
62
- {
63
- name: "axiom_generate",
64
- description: "Generate artifacts and manifest from IR",
65
- inputSchema: {
66
- type: "object",
67
- properties: {
68
- ir: {
69
- type: "object",
70
- description: "AXIOM IR object",
71
- },
72
- profile: {
73
- type: "string",
74
- description: "Profile name (e.g., 'edge', 'budget')",
75
- },
76
- },
77
- required: ["ir"],
78
- },
79
- },
80
- {
81
- name: "axiom_check",
82
- description: "Run policy checks on manifest",
83
- inputSchema: {
84
- type: "object",
85
- properties: {
86
- manifest: {
87
- type: "object",
88
- description: "Generated manifest",
89
- },
90
- ir: {
91
- type: "object",
92
- description: "Optional IR for context",
93
- },
94
- },
95
- required: ["manifest"],
96
- },
97
- },
98
- {
99
- name: "axiom_reverse",
100
- description: "Reverse engineer IR from existing repository",
101
- inputSchema: {
102
- type: "object",
103
- properties: {
104
- repoPath: {
105
- type: "string",
106
- description: "Path to repository",
107
- },
108
- outDir: {
109
- type: "string",
110
- description: "Output directory to scan",
111
- default: "out",
112
- },
113
- },
114
- },
115
- },
116
- {
117
- name: "axiom_diff",
118
- description: "Generate diff patches between two IR versions",
119
- inputSchema: {
120
- type: "object",
121
- properties: {
122
- oldIr: {
123
- type: "object",
124
- description: "Old IR version",
125
- },
126
- newIr: {
127
- type: "object",
128
- description: "New IR version",
129
- },
130
- },
131
- required: ["oldIr", "newIr"],
132
- },
133
- },
134
- {
135
- name: "axiom_apply",
136
- description: "Apply manifest changes to filesystem",
137
- inputSchema: {
138
- type: "object",
139
- properties: {
140
- manifest: {
141
- type: "object",
142
- description: "Manifest to apply",
143
- },
144
- mode: {
145
- type: "string",
146
- enum: ["fs", "pr"],
147
- description: "Application mode: 'fs' for direct filesystem, 'pr' for pull request",
148
- default: "fs",
149
- },
150
- repoPath: {
151
- type: "string",
152
- description: "Repository path",
153
- },
154
- branchName: {
155
- type: "string",
156
- description: "Branch name for PR mode",
157
- },
158
- commitMessage: {
159
- type: "string",
160
- description: "Commit message for PR mode",
161
- },
162
- },
163
- required: ["manifest"],
164
- },
165
- },
166
- ],
167
- };
168
- });
169
-
170
- server.setRequestHandler(CallToolRequestSchema, async (request) => {
171
- try {
172
- const { name, arguments: args } = request.params;
173
-
174
- switch (name) {
175
- case "axiom_parse": {
176
- const { source } = args as { source: string };
177
- const { ir, diagnostics } = parseAxiomSource(source);
178
- return {
179
- content: [
180
- {
181
- type: "text",
182
- text: JSON.stringify({ ir, diagnostics }, null, 2),
183
- },
184
- ],
185
- };
186
- }
187
-
188
- case "axiom_validate": {
189
- const { ir } = args as { ir: any };
190
- const parse = AxiomIR.safeParse(ir);
191
- if (!parse.success) {
192
- return {
193
- content: [
194
- {
195
- type: "text",
196
- text: JSON.stringify(
197
- { ok: false, diagnostics: parse.error.issues },
198
- null,
199
- 2
200
- ),
201
- },
202
- ],
203
- };
204
- }
205
- const result = validateIR(parse.data);
206
- return {
207
- content: [
208
- {
209
- type: "text",
210
- text: JSON.stringify(result, null, 2),
211
- },
212
- ],
213
- };
214
- }
215
-
216
- case "axiom_generate": {
217
- const { ir, profile } = args as { ir: any; profile?: string };
218
- const parse = AxiomIR.safeParse(ir);
219
- if (!parse.success) {
220
- return {
221
- content: [
222
- {
223
- type: "text",
224
- text: JSON.stringify({ error: parse.error.issues }, null, 2),
225
- },
226
- ],
227
- isError: true,
228
- };
229
- }
230
- const { artifacts, manifest } = await generate(
231
- parse.data,
232
- process.cwd(),
233
- profile
234
- );
235
- return {
236
- content: [
237
- {
238
- type: "text",
239
- text: JSON.stringify({ artifacts, manifest }, null, 2),
240
- },
241
- ],
242
- };
243
- }
244
-
245
- case "axiom_check": {
246
- const { manifest, ir } = args as { manifest: any; ir?: any };
247
- const irParsed = ir ? AxiomIR.safeParse(ir) : null;
248
- const result = await check(
249
- manifest,
250
- irParsed?.success ? irParsed.data : undefined,
251
- process.cwd()
252
- );
253
- return {
254
- content: [
255
- {
256
- type: "text",
257
- text: JSON.stringify(result, null, 2),
258
- },
259
- ],
260
- };
261
- }
262
-
263
- case "axiom_reverse": {
264
- const { repoPath, outDir } = args as {
265
- repoPath?: string;
266
- outDir?: string;
267
- };
268
- const ir = await reverseIR({
269
- repoPath: repoPath || process.cwd(),
270
- outDir: outDir || "out",
271
- });
272
- return {
273
- content: [
274
- {
275
- type: "text",
276
- text: JSON.stringify({ ir, diagnostics: [] }, null, 2),
277
- },
278
- ],
279
- };
280
- }
281
-
282
- case "axiom_diff": {
283
- const { oldIr, newIr } = args as { oldIr: any; newIr: any };
284
- const oldParse = AxiomIR.safeParse(oldIr);
285
- const newParse = AxiomIR.safeParse(newIr);
286
- if (!oldParse.success || !newParse.success) {
287
- return {
288
- content: [
289
- {
290
- type: "text",
291
- text: JSON.stringify(
292
- {
293
- error: "Invalid IR",
294
- oldIr: oldParse.success ? null : oldParse.error.issues,
295
- newIr: newParse.success ? null : newParse.error.issues,
296
- },
297
- null,
298
- 2
299
- ),
300
- },
301
- ],
302
- isError: true,
303
- };
304
- }
305
- const patch = diff(oldParse.data, newParse.data);
306
- return {
307
- content: [
308
- {
309
- type: "text",
310
- text: JSON.stringify({ patch }, null, 2),
311
- },
312
- ],
313
- };
314
- }
315
-
316
- case "axiom_apply": {
317
- const { manifest, mode, repoPath, branchName, commitMessage } = args as {
318
- manifest: any;
319
- mode?: string;
320
- repoPath?: string;
321
- branchName?: string;
322
- commitMessage?: string;
323
- };
324
- const result = await apply({
325
- manifest,
326
- mode: (mode as "fs" | "pr") || "fs",
327
- repoPath: repoPath || process.cwd(),
328
- branchName,
329
- commitMessage,
330
- });
331
- return {
332
- content: [
333
- {
334
- type: "text",
335
- text: JSON.stringify(result, null, 2),
336
- },
337
- ],
338
- };
339
- }
340
-
341
- default:
342
- return {
343
- content: [
344
- {
345
- type: "text",
346
- text: `Unknown tool: ${name}`,
347
- },
348
- ],
349
- isError: true,
350
- };
351
- }
352
- } catch (error: any) {
353
- return {
354
- content: [
355
- {
356
- type: "text",
357
- text: `Error: ${error.message || String(error)}`,
358
- },
359
- ],
360
- isError: true,
361
- };
362
- }
363
- });
364
-
365
- async function main() {
366
- const transport = new StdioServerTransport();
367
- await server.connect(transport);
368
- console.error("AXIOM MCP Server running on stdio");
369
- }
370
-
371
- main().catch((error) => {
372
- console.error("Fatal error:", error);
373
- process.exit(1);
374
- });
@@ -1,40 +0,0 @@
1
-
2
- import fs from "node:fs";
3
- import os from "node:os";
4
- import path from "node:path";
5
-
6
- // Skip postinstall if running via npx (to avoid mutex issues)
7
- if (process.env.npm_command === 'exec' || process.env.npm_execpath?.includes('npx')) {
8
- console.log("⏭️ Skipping MCP config install (npx mode)");
9
- process.exit(0);
10
- }
11
-
12
- const mcpDir = path.join(os.homedir(), ".mcp", "servers");
13
- fs.mkdirSync(mcpDir, { recursive: true });
14
-
15
- const mcpConfig = {
16
- command: "npx",
17
- args: ["@codai/axiom-mcp"],
18
- env: {
19
- AXIOM_MCP_PORT: "3411"
20
- },
21
- description: "AXIOM - AI-native intention language with deterministic manifest generation",
22
- endpoints: [
23
- "/parse - Parse .axm source to IR",
24
- "/validate - Validate IR semantics",
25
- "/generate - Generate artifacts from IR",
26
- "/check - Run policy checks",
27
- "/reverse - Reverse engineer IR from repo",
28
- "/diff - Generate IR diff patches",
29
- "/apply - Apply patches to filesystem"
30
- ]
31
- };
32
-
33
- fs.writeFileSync(
34
- path.join(mcpDir, "axiom.json"),
35
- JSON.stringify(mcpConfig, null, 2)
36
- );
37
-
38
- console.log("✅ AXIOM MCP config installed at ~/.mcp/servers/axiom.json");
39
- console.log(" Start server: npx axiom-mcp");
40
- console.log(" Default port: 3411");
package/src/server.ts DELETED
@@ -1,85 +0,0 @@
1
-
2
- import http from "node:http";
3
- import { parseAxiomSource } from "@codai/axiom-core/dist/parser.js";
4
- import { validateIR } from "@codai/axiom-core/dist/validator.js";
5
- import { AxiomIR } from "@codai/axiom-core/dist/ir.js";
6
- import { generate } from "@codai/axiom-engine/dist/generate.js";
7
- import { check } from "@codai/axiom-engine/dist/check.js";
8
- import { reverseIR } from "@codai/axiom-engine/dist/reverse-ir.js";
9
- import { diff, applyPatch } from "@codai/axiom-engine/dist/axpatch.js";
10
- import { apply } from "@codai/axiom-engine/dist/apply.js";
11
-
12
- const PORT = Number(process.env.AXIOM_MCP_PORT || 3411);
13
-
14
- function send(res: http.ServerResponse, code: number, obj: any) {
15
- const body = JSON.stringify(obj, null, 2);
16
- res.writeHead(code, { "content-type": "application/json" });
17
- res.end(body);
18
- }
19
-
20
- const server = http.createServer(async (req, res) => {
21
- try {
22
- const chunks: Buffer[] = [];
23
- req.on("data", (c) => chunks.push(c));
24
- req.on("end", async () => {
25
- const input = chunks.length ? JSON.parse(Buffer.concat(chunks).toString("utf-8")) : {};
26
- if (req.method === "POST" && req.url === "/parse") {
27
- const { source } = input;
28
- const { ir, diagnostics } = parseAxiomSource(String(source ?? ""));
29
- return send(res, 200, { ir, diagnostics });
30
- }
31
- if (req.method === "POST" && req.url === "/validate") {
32
- const parse = AxiomIR.safeParse(input.ir);
33
- if (!parse.success) return send(res, 400, { ok: false, diagnostics: parse.error.issues });
34
- const result = validateIR(parse.data);
35
- return send(res, 200, result);
36
- }
37
- if (req.method === "POST" && req.url === "/generate") {
38
- const parse = AxiomIR.safeParse(input.ir);
39
- if (!parse.success) return send(res, 400, { error: parse.error.issues });
40
- const { artifacts, manifest } = await generate(parse.data, process.cwd(), input.profile);
41
- return send(res, 200, { artifacts, manifest });
42
- }
43
- if (req.method === "POST" && req.url === "/check") {
44
- const parse = input.ir ? AxiomIR.safeParse(input.ir) : null;
45
- const ir = parse?.success ? parse.data : undefined;
46
- const result = await check(input.manifest, ir, input.outRoot || process.cwd());
47
- return send(res, 200, result);
48
- }
49
- if (req.method === "POST" && req.url === "/reverse") {
50
- const ir = await reverseIR({
51
- repoPath: input.repoPath || process.cwd(),
52
- outDir: input.outDir || "out",
53
- });
54
- return send(res, 200, { ir, diagnostics: [] });
55
- }
56
- if (req.method === "POST" && req.url === "/diff") {
57
- const oldParse = AxiomIR.safeParse(input.oldIr);
58
- const newParse = AxiomIR.safeParse(input.newIr);
59
- if (!oldParse.success) return send(res, 400, { error: "Invalid oldIr", details: oldParse.error.issues });
60
- if (!newParse.success) return send(res, 400, { error: "Invalid newIr", details: newParse.error.issues });
61
- const patch = diff(oldParse.data, newParse.data);
62
- return send(res, 200, { patch });
63
- }
64
- if (req.method === "POST" && req.url === "/apply") {
65
- if (!input.manifest) return send(res, 400, { error: "Missing manifest" });
66
- const mode = input.mode || "fs";
67
- const result = await apply({
68
- manifest: input.manifest,
69
- mode: mode as "fs" | "pr",
70
- repoPath: input.repoPath || process.cwd(),
71
- branchName: input.branchName,
72
- commitMessage: input.commitMessage,
73
- });
74
- return send(res, 200, result);
75
- }
76
- send(res, 404, { error: "Not found" });
77
- });
78
- } catch (e: any) {
79
- send(res, 500, { error: String(e?.message || e) });
80
- }
81
- });
82
-
83
- server.listen(PORT, () => {
84
- console.log(`[axiom-mcp] listening on http://localhost:${PORT}`);
85
- });
package/tsconfig.json DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.base.json",
3
- "include": [
4
- "src"
5
- ],
6
- "compilerOptions": {
7
- "outDir": "dist",
8
- "declaration": false
9
- }
10
- }