@mcpjam/inspector 0.3.8 β†’ 0.8.0

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 (193) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-build-manifest.json +89 -0
  3. package/.next/app-path-routes-manifest.json +13 -0
  4. package/.next/build-manifest.json +33 -0
  5. package/.next/cache/.previewinfo +1 -0
  6. package/.next/cache/.rscinfo +1 -0
  7. package/.next/cache/.tsbuildinfo +1 -0
  8. package/.next/cache/eslint/.cache_11b5ofe +1 -0
  9. package/.next/cache/webpack/client-production/0.pack +0 -0
  10. package/.next/cache/webpack/client-production/index.pack +0 -0
  11. package/.next/cache/webpack/edge-server-production/0.pack +0 -0
  12. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  13. package/.next/cache/webpack/server-production/0.pack +0 -0
  14. package/.next/cache/webpack/server-production/index.pack +0 -0
  15. package/.next/diagnostics/build-diagnostics.json +6 -0
  16. package/.next/diagnostics/framework.json +1 -0
  17. package/.next/export-marker.json +6 -0
  18. package/.next/images-manifest.json +57 -0
  19. package/.next/next-minimal-server.js.nft.json +1 -0
  20. package/.next/next-server.js.nft.json +1 -0
  21. package/.next/package.json +1 -0
  22. package/.next/prerender-manifest.json +41 -0
  23. package/.next/react-loadable-manifest.json +1 -0
  24. package/.next/required-server-files.json +318 -0
  25. package/.next/routes-manifest.json +65 -0
  26. package/.next/server/app/_not-found/page.js +2 -0
  27. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  28. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  29. package/.next/server/app/api/mcp/chat/route.js +45 -0
  30. package/.next/server/app/api/mcp/chat/route.js.nft.json +1 -0
  31. package/.next/server/app/api/mcp/chat/route_client-reference-manifest.js +1 -0
  32. package/.next/server/app/api/mcp/connect/route.js +1 -0
  33. package/.next/server/app/api/mcp/connect/route.js.nft.json +1 -0
  34. package/.next/server/app/api/mcp/connect/route_client-reference-manifest.js +1 -0
  35. package/.next/server/app/api/mcp/prompts/get/route.js +1 -0
  36. package/.next/server/app/api/mcp/prompts/get/route.js.nft.json +1 -0
  37. package/.next/server/app/api/mcp/prompts/get/route_client-reference-manifest.js +1 -0
  38. package/.next/server/app/api/mcp/prompts/list/route.js +1 -0
  39. package/.next/server/app/api/mcp/prompts/list/route.js.nft.json +1 -0
  40. package/.next/server/app/api/mcp/prompts/list/route_client-reference-manifest.js +1 -0
  41. package/.next/server/app/api/mcp/resources/list/route.js +1 -0
  42. package/.next/server/app/api/mcp/resources/list/route.js.nft.json +1 -0
  43. package/.next/server/app/api/mcp/resources/list/route_client-reference-manifest.js +1 -0
  44. package/.next/server/app/api/mcp/resources/read/route.js +1 -0
  45. package/.next/server/app/api/mcp/resources/read/route.js.nft.json +1 -0
  46. package/.next/server/app/api/mcp/resources/read/route_client-reference-manifest.js +1 -0
  47. package/.next/server/app/api/mcp/tools/route.js +21 -0
  48. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -0
  49. package/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -0
  50. package/.next/server/app/favicon.ico/route.js +1 -0
  51. package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  52. package/.next/server/app/favicon.ico.body +0 -0
  53. package/.next/server/app/favicon.ico.meta +1 -0
  54. package/.next/server/app/oauth/callback/page.js +2 -0
  55. package/.next/server/app/oauth/callback/page.js.nft.json +1 -0
  56. package/.next/server/app/oauth/callback/page_client-reference-manifest.js +1 -0
  57. package/.next/server/app/page.js +16 -0
  58. package/.next/server/app/page.js.nft.json +1 -0
  59. package/.next/server/app/page_client-reference-manifest.js +1 -0
  60. package/.next/server/app-paths-manifest.json +13 -0
  61. package/.next/server/chunks/175.js +8 -0
  62. package/.next/server/chunks/260.js +82 -0
  63. package/.next/server/chunks/546.js +1 -0
  64. package/.next/server/chunks/548.js +6 -0
  65. package/.next/server/chunks/55.js +1 -0
  66. package/.next/server/chunks/985.js +22 -0
  67. package/.next/server/functions-config-manifest.json +4 -0
  68. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  69. package/.next/server/middleware-build-manifest.js +1 -0
  70. package/.next/server/middleware-manifest.json +6 -0
  71. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  72. package/.next/server/next-font-manifest.js +1 -0
  73. package/.next/server/next-font-manifest.json +1 -0
  74. package/.next/server/pages/500.html +1 -0
  75. package/.next/server/pages/_app.js +1 -0
  76. package/.next/server/pages/_app.js.nft.json +1 -0
  77. package/.next/server/pages/_document.js +1 -0
  78. package/.next/server/pages/_document.js.nft.json +1 -0
  79. package/.next/server/pages/_error.js +19 -0
  80. package/.next/server/pages/_error.js.nft.json +1 -0
  81. package/.next/server/pages-manifest.json +5 -0
  82. package/.next/server/server-reference-manifest.js +1 -0
  83. package/.next/server/server-reference-manifest.json +1 -0
  84. package/.next/server/webpack-runtime.js +1 -0
  85. package/.next/static/chunks/14-ae3a01e72ea53777.js +1 -0
  86. package/.next/static/chunks/214-cc4c35d88f2695ed.js +1 -0
  87. package/.next/static/chunks/4bd1b696-cf72ae8a39fa05aa.js +1 -0
  88. package/.next/static/chunks/866-04c19dda4c52f2bf.js +1 -0
  89. package/.next/static/chunks/964-eda38e26c0391a47.js +1 -0
  90. package/.next/static/chunks/app/_not-found/page-d7e832b54474da82.js +1 -0
  91. package/.next/static/chunks/app/api/mcp/chat/route-0341498a8bf5f2da.js +1 -0
  92. package/.next/static/chunks/app/api/mcp/connect/route-0341498a8bf5f2da.js +1 -0
  93. package/.next/static/chunks/app/api/mcp/prompts/get/route-0341498a8bf5f2da.js +1 -0
  94. package/.next/static/chunks/app/api/mcp/prompts/list/route-0341498a8bf5f2da.js +1 -0
  95. package/.next/static/chunks/app/api/mcp/resources/list/route-0341498a8bf5f2da.js +1 -0
  96. package/.next/static/chunks/app/api/mcp/resources/read/route-0341498a8bf5f2da.js +1 -0
  97. package/.next/static/chunks/app/api/mcp/tools/route-0341498a8bf5f2da.js +1 -0
  98. package/.next/static/chunks/app/layout-fb6e1ad5933381f3.js +1 -0
  99. package/.next/static/chunks/app/oauth/callback/page-d8b3908ea67ba3e3.js +1 -0
  100. package/.next/static/chunks/app/page-81e35b2a61edb363.js +1 -0
  101. package/.next/static/chunks/framework-7c95b8e5103c9e90.js +1 -0
  102. package/.next/static/chunks/main-app-7d61da15faa6c1af.js +1 -0
  103. package/.next/static/chunks/main-bbdafee21a7bd1d6.js +1 -0
  104. package/.next/static/chunks/pages/_app-0a0020ddd67f79cf.js +1 -0
  105. package/.next/static/chunks/pages/_error-03529f2c21436739.js +1 -0
  106. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  107. package/.next/static/chunks/webpack-cdfccaf38062dd25.js +1 -0
  108. package/.next/static/css/1e852d83e9c1d0c6.css +1 -0
  109. package/.next/static/css/f30152c0704fba31.css +1 -0
  110. package/.next/static/css/fe751fdbe975e9ca.css +1 -0
  111. package/.next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
  112. package/.next/static/media/747892c23ea88013-s.woff2 +0 -0
  113. package/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  114. package/.next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
  115. package/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  116. package/.next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
  117. package/.next/static/media/ollama_dark.9af45ac0.png +0 -0
  118. package/.next/static/media/ollama_logo.9f08a95b.svg +7 -0
  119. package/.next/static/media/openai_logo.3f83154a.png +0 -0
  120. package/.next/static/wgHmsxKAquUu9gOMW6Qd5/_buildManifest.js +1 -0
  121. package/.next/static/wgHmsxKAquUu9gOMW6Qd5/_ssgManifest.js +1 -0
  122. package/.next/trace +35 -0
  123. package/.next/types/app/api/mcp/chat/route.ts +347 -0
  124. package/.next/types/app/api/mcp/connect/route.ts +347 -0
  125. package/.next/types/app/api/mcp/prompts/get/route.ts +347 -0
  126. package/.next/types/app/api/mcp/prompts/list/route.ts +347 -0
  127. package/.next/types/app/api/mcp/resources/list/route.ts +347 -0
  128. package/.next/types/app/api/mcp/resources/read/route.ts +347 -0
  129. package/.next/types/app/api/mcp/tools/route.ts +347 -0
  130. package/.next/types/app/layout.ts +84 -0
  131. package/.next/types/app/oauth/callback/page.ts +84 -0
  132. package/.next/types/app/page.ts +84 -0
  133. package/.next/types/cache-life.d.ts +141 -0
  134. package/.next/types/package.json +1 -0
  135. package/README.md +76 -161
  136. package/bin/start.js +504 -0
  137. package/next.config.ts +7 -0
  138. package/package.json +71 -54
  139. package/public/claude_logo.png +0 -0
  140. package/public/demo_1.png +0 -0
  141. package/public/demo_2.png +0 -0
  142. package/public/demo_3.png +0 -0
  143. package/public/file.svg +1 -0
  144. package/public/globe.svg +1 -0
  145. package/public/mcp.svg +1 -0
  146. package/public/next.svg +1 -0
  147. package/public/ollama_dark.png +0 -0
  148. package/public/ollama_logo.svg +7 -0
  149. package/public/openai_logo.png +0 -0
  150. package/public/vercel.svg +1 -0
  151. package/public/window.svg +1 -0
  152. package/LICENSE +0 -200
  153. package/cli/build/cli.js +0 -251
  154. package/cli/build/client/connection.js +0 -33
  155. package/cli/build/client/index.js +0 -6
  156. package/cli/build/client/prompts.js +0 -23
  157. package/cli/build/client/resources.js +0 -30
  158. package/cli/build/client/tools.js +0 -64
  159. package/cli/build/client/types.js +0 -1
  160. package/cli/build/error-handler.js +0 -18
  161. package/cli/build/index.js +0 -166
  162. package/cli/build/transport.js +0 -47
  163. package/client/bin/client.js +0 -71
  164. package/client/bin/start.js +0 -143
  165. package/client/dist/assets/OAuthCallback-Dovy-wwC.js +0 -56
  166. package/client/dist/assets/OAuthDebugCallback-CP9EZ76u.js +0 -44
  167. package/client/dist/assets/index-CWDemo1t.css +0 -4168
  168. package/client/dist/assets/index-DTD8_Uq7.js +0 -63318
  169. package/client/dist/index.html +0 -14
  170. package/client/dist/ollama_logo.png +0 -0
  171. package/client/dist/openai_logo.png +0 -0
  172. package/server/build/database/DatabaseManager.js +0 -108
  173. package/server/build/database/index.js +0 -8
  174. package/server/build/database/routes.js +0 -86
  175. package/server/build/database/types.js +0 -27
  176. package/server/build/database/utils.js +0 -86
  177. package/server/build/index.js +0 -331
  178. package/server/build/mcpProxy.js +0 -54
  179. package/server/build/shared/MCPProxyService.js +0 -221
  180. package/server/build/shared/TransportFactory.js +0 -130
  181. package/server/build/shared/index.js +0 -4
  182. package/server/build/shared/types.js +0 -1
  183. package/server/build/shared/utils.js +0 -27
  184. package/server/build/test-server.js +0 -145
  185. package/server/build/testing/HealthCheck.js +0 -42
  186. package/server/build/testing/TestExecutor.js +0 -240
  187. package/server/build/testing/TestRunner.js +0 -198
  188. package/server/build/testing/TestServer.js +0 -440
  189. package/server/build/testing/types.js +0 -1
  190. /package/{client/dist/claude_logo.png β†’ .next/static/media/claude_logo.d33b25b0.png} +0 -0
  191. /package/{client/dist β†’ public}/mcp_jam.svg +0 -0
  192. /package/{client/dist β†’ public}/mcp_jam_dark.png +0 -0
  193. /package/{client/dist β†’ public}/mcp_jam_light.png +0 -0
@@ -0,0 +1,141 @@
1
+ // Type definitions for Next.js cacheLife configs
2
+
3
+ declare module 'next/cache' {
4
+ export { unstable_cache } from 'next/dist/server/web/spec-extension/unstable-cache'
5
+ export {
6
+ revalidateTag,
7
+ revalidatePath,
8
+ unstable_expireTag,
9
+ unstable_expirePath,
10
+ } from 'next/dist/server/web/spec-extension/revalidate'
11
+ export { unstable_noStore } from 'next/dist/server/web/spec-extension/unstable-no-store'
12
+
13
+
14
+ /**
15
+ * Cache this `"use cache"` for a timespan defined by the `"default"` profile.
16
+ * ```
17
+ * stale: 300 seconds (5 minutes)
18
+ * revalidate: 900 seconds (15 minutes)
19
+ * expire: never
20
+ * ```
21
+ *
22
+ * This cache may be stale on clients for 5 minutes before checking with the server.
23
+ * If the server receives a new request after 15 minutes, start revalidating new values in the background.
24
+ * It lives for the maximum age of the server cache. If this entry has no traffic for a while, it may serve an old value the next request.
25
+ */
26
+ export function unstable_cacheLife(profile: "default"): void
27
+
28
+ /**
29
+ * Cache this `"use cache"` for a timespan defined by the `"seconds"` profile.
30
+ * ```
31
+ * stale: 0 seconds
32
+ * revalidate: 1 seconds
33
+ * expire: 60 seconds (1 minute)
34
+ * ```
35
+ *
36
+ * This cache may be stale on clients for 0 seconds before checking with the server.
37
+ * If the server receives a new request after 1 seconds, start revalidating new values in the background.
38
+ * If this entry has no traffic for 1 minute it will expire. The next request will recompute it.
39
+ */
40
+ export function unstable_cacheLife(profile: "seconds"): void
41
+
42
+ /**
43
+ * Cache this `"use cache"` for a timespan defined by the `"minutes"` profile.
44
+ * ```
45
+ * stale: 300 seconds (5 minutes)
46
+ * revalidate: 60 seconds (1 minute)
47
+ * expire: 3600 seconds (1 hour)
48
+ * ```
49
+ *
50
+ * This cache may be stale on clients for 5 minutes before checking with the server.
51
+ * If the server receives a new request after 1 minute, start revalidating new values in the background.
52
+ * If this entry has no traffic for 1 hour it will expire. The next request will recompute it.
53
+ */
54
+ export function unstable_cacheLife(profile: "minutes"): void
55
+
56
+ /**
57
+ * Cache this `"use cache"` for a timespan defined by the `"hours"` profile.
58
+ * ```
59
+ * stale: 300 seconds (5 minutes)
60
+ * revalidate: 3600 seconds (1 hour)
61
+ * expire: 86400 seconds (1 day)
62
+ * ```
63
+ *
64
+ * This cache may be stale on clients for 5 minutes before checking with the server.
65
+ * If the server receives a new request after 1 hour, start revalidating new values in the background.
66
+ * If this entry has no traffic for 1 day it will expire. The next request will recompute it.
67
+ */
68
+ export function unstable_cacheLife(profile: "hours"): void
69
+
70
+ /**
71
+ * Cache this `"use cache"` for a timespan defined by the `"days"` profile.
72
+ * ```
73
+ * stale: 300 seconds (5 minutes)
74
+ * revalidate: 86400 seconds (1 day)
75
+ * expire: 604800 seconds (1 week)
76
+ * ```
77
+ *
78
+ * This cache may be stale on clients for 5 minutes before checking with the server.
79
+ * If the server receives a new request after 1 day, start revalidating new values in the background.
80
+ * If this entry has no traffic for 1 week it will expire. The next request will recompute it.
81
+ */
82
+ export function unstable_cacheLife(profile: "days"): void
83
+
84
+ /**
85
+ * Cache this `"use cache"` for a timespan defined by the `"weeks"` profile.
86
+ * ```
87
+ * stale: 300 seconds (5 minutes)
88
+ * revalidate: 604800 seconds (1 week)
89
+ * expire: 2592000 seconds (30 days)
90
+ * ```
91
+ *
92
+ * This cache may be stale on clients for 5 minutes before checking with the server.
93
+ * If the server receives a new request after 1 week, start revalidating new values in the background.
94
+ * If this entry has no traffic for 30 days it will expire. The next request will recompute it.
95
+ */
96
+ export function unstable_cacheLife(profile: "weeks"): void
97
+
98
+ /**
99
+ * Cache this `"use cache"` for a timespan defined by the `"max"` profile.
100
+ * ```
101
+ * stale: 300 seconds (5 minutes)
102
+ * revalidate: 2592000 seconds (30 days)
103
+ * expire: never
104
+ * ```
105
+ *
106
+ * This cache may be stale on clients for 5 minutes before checking with the server.
107
+ * If the server receives a new request after 30 days, start revalidating new values in the background.
108
+ * It lives for the maximum age of the server cache. If this entry has no traffic for a while, it may serve an old value the next request.
109
+ */
110
+ export function unstable_cacheLife(profile: "max"): void
111
+
112
+ /**
113
+ * Cache this `"use cache"` using a custom timespan.
114
+ * ```
115
+ * stale: ... // seconds
116
+ * revalidate: ... // seconds
117
+ * expire: ... // seconds
118
+ * ```
119
+ *
120
+ * This is similar to Cache-Control: max-age=`stale`,s-max-age=`revalidate`,stale-while-revalidate=`expire-revalidate`
121
+ *
122
+ * If a value is left out, the lowest of other cacheLife() calls or the default, is used instead.
123
+ */
124
+ export function unstable_cacheLife(profile: {
125
+ /**
126
+ * This cache may be stale on clients for ... seconds before checking with the server.
127
+ */
128
+ stale?: number,
129
+ /**
130
+ * If the server receives a new request after ... seconds, start revalidating new values in the background.
131
+ */
132
+ revalidate?: number,
133
+ /**
134
+ * If this entry has no traffic for ... seconds it will expire. The next request will recompute it.
135
+ */
136
+ expire?: number
137
+ }): void
138
+
139
+
140
+ export { cacheTag as unstable_cacheTag } from 'next/dist/server/use-cache/cache-tag'
141
+ }
@@ -0,0 +1 @@
1
+ {"type": "module"}
package/README.md CHANGED
@@ -1,157 +1,96 @@
1
1
  <div align="center">
2
2
 
3
3
  <picture>
4
- <source media="(prefers-color-scheme: dark)" srcset="https://github.com/MCPJam/inspector/blob/main/client/public/mcp_jam_dark.png">
5
- <source media="(prefers-color-scheme: light)" srcset="https://github.com/MCPJam/inspector/blob/main/client/public/mcp_jam_light.png">
6
- <img width="250" alt="MCPJam logo" src="https://github.com/MCPJam/inspector/blob/main/client/public/mcp_jam_light.png">
4
+ <source media="(prefers-color-scheme: dark)" srcset="./public/mcp_jam_dark.png">
5
+ <source media="(prefers-color-scheme: light)" srcset="./public/mcp_jam_light.png">
6
+ <img width="250" alt="MCPJam Inspector V1 logo" src="./public/mcp_jam_light.png">
7
7
  </picture>
8
8
 
9
9
  <br/>
10
10
 
11
- # MCPJam Inspector
12
-
13
- **The developer tool for testing and debugging MCP servers**
11
+ ## MCP Server Testing Tool
14
12
 
15
13
  [![npm version](https://img.shields.io/npm/v/@mcpjam/inspector?style=for-the-badge&color=blue)](https://www.npmjs.com/package/@mcpjam/inspector)
16
- [![npm downloads](https://img.shields.io/npm/dm/@mcpjam/inspector?style=for-the-badge&color=green)](https://www.npmjs.com/package/@mcpjam/inspector)
17
- [![Docker Pulls](https://img.shields.io/docker/pulls/mcpjam/mcp-inspector?style=for-the-badge)](https://hub.docker.com/r/mcpjam/mcp-inspector)
18
14
  [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge)](https://opensource.org/licenses/Apache-2.0)
19
- [![Node.js](https://img.shields.io/badge/Node.js-22.7.5+-green.svg?style=for-the-badge&logo=node.js)](https://nodejs.org/)
20
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.8+-blue.svg?style=for-the-badge&logo=typescript)](https://www.typescriptlang.org/)
21
15
  [![Discord](https://img.shields.io/badge/Discord-Join%20Server-5865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/JEnDtz8X6z)
22
16
 
23
17
  </div>
24
18
 
25
- ---
26
-
27
- ## Quick Start
28
-
29
- Get up and running in seconds with the MCPJam Inspector:
30
-
31
- ```bash
32
- npx @mcpjam/inspector@latest
33
- ```
19
+ A developer tool for testing, debugging Model Context Protocol (MCP) servers. Test whether or not you built your MCP server correctly. The project is open source and fully compliant to the MCP spec.
34
20
 
35
- That's it! The inspector will launch automatically in your browser at `http://localhost:6274`.
36
-
37
- ### Running with Docker
38
-
39
- You can also run the inspector using Docker. First, make sure you have Docker installed and running.
40
-
41
- Pull the latest image from Docker Hub:
42
-
43
- ```bash
44
- docker pull mcpjam/mcp-inspector:main
45
- ```
21
+ ## Key Features
46
22
 
47
- Then, run the container:
48
-
49
- ```bash
50
- docker run --rm -p 6274:6274 -p 6277:6277 mcpjam/mcp-inspector:main
51
- ```
52
-
53
- The inspector will be available in your browser at `http://127.0.0.1:6274`.
54
-
55
- ---
23
+ | Feature | Description |
24
+ | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
25
+ | **Full MCP Spec Compliance** | Test your MCP server's tools, resources, prompts, and OAuth 2. MCPJam is compliant with the latest MCP specs. |
26
+ | **All transports supported** | Connect to any MCP server. MCPJam inspector supports STDIO, SSE, and Streamable HTTP transports. |
27
+ | **LLM Playground** | Integrated chat playground with OpenAI, Anthropic Claude, and Ollama model support. Test how your MCP server would behave against an LLM |
28
+ | **Debugging** | Comprehensive logging, tracing, and error reporting for MCP server development |
29
+ | **Developer Experience** | Connect to multiple MCP servers. Save configurations. Upgraded UI/UX for modern dev experience. |
56
30
 
57
31
  ## πŸ“Έ Screenshots
58
32
 
59
- <div align="center">
60
- <img width="1511" alt="MCPJam Inspector Interface" src="https://github.com/user-attachments/assets/ade8a46a-f738-4d32-ac85-260a5e22b90f" />
61
- </div>
62
-
63
- ---
33
+ <img alt="MCPJam Inspector Demo" src="./public/demo_1.png">
64
34
 
65
- ## ✨ Core Features
35
+ <details>
36
+ <summary><strong>LLM Playground</strong></summary>
66
37
 
67
- This project is a fork of the [@modelcontextprotocol/inspector](https://github.com/modelcontextprotocol/inspector). Many of the features are the same but with some enhancements. Key features include:
38
+ <img alt="LLM Chat Demo" src="./public/demo_2.png">
68
39
 
69
- - **STDIO / SSE / Streamable HTTP** - This inspector supports all three protocols. Connect to any MCP server.
70
- - **Tool Execution** - Run server tools with live parameter input. Easily debug errors.
71
- - **(New) LLM tool interaction** - Test your MCP server against a real LLM.
72
- - **Debugging tools** - Enhanced logging experience to debug your server.
73
- - **Quality of life improvements** - Save requests, multi-server connection, saved connections.
40
+ </details>
74
41
 
75
- ## πŸ“‹ Requirements
42
+ <details>
43
+ <summary><strong>Connect to any server</strong></summary>
76
44
 
77
- - **Node.js**: `^22.7.5` or higher
78
- - **npm**: `^10.0.0` or higher (comes with Node.js)
45
+ <img alt="MCPJam Connection Demo" src="./public/demo_3.png">
79
46
 
80
- ---
47
+ </details>
81
48
 
82
- ## 🎯 Usage Examples
49
+ ## πŸš€ Quick Start
83
50
 
84
- ### Basic Usage
51
+ Start up the MCPJam inspector:
85
52
 
86
53
  ```bash
87
- # Launch inspector with default settings
88
54
  npx @mcpjam/inspector
89
55
  ```
90
56
 
91
- ### Connect to Local Server
92
-
93
- ```bash
94
- # Connect to a server built at build/index.js
95
- npx @mcpjam/inspector node build/index.js
96
- ```
97
-
98
- ### Connect with Arguments
57
+ Other commands:
99
58
 
100
59
  ```bash
101
- # Pass custom arguments to your server
102
- npx @mcpjam/inspector node server.js --port 3000 --debug
103
- ```
60
+ # Launch with custom port
61
+ npx @mcpjam/inspector --port 4000
104
62
 
105
- ### Using Configuration File
106
-
107
- ```bash
108
- # Load servers from a config file
109
- npx @mcpjam/inspector --config ./my-config.json
63
+ # Shortcut for starting MCPJam and an Ollama model
64
+ npx @mcpjam/inspector --ollama llama3.2
110
65
  ```
111
66
 
112
- ### Example Configuration File
113
-
114
- ```json
115
- {
116
- "mcpServers": {
117
- "my-awesome-server": {
118
- "command": "node",
119
- "args": ["build/index.js"],
120
- "env": {
121
- "API_KEY": "your-api-key",
122
- "DEBUG": "true"
123
- }
124
- },
125
- "python-server": {
126
- "command": "python",
127
- "args": ["-m", "my_mcp_server"],
128
- "env": {
129
- "PYTHONPATH": "./src"
130
- }
131
- }
132
- }
133
- }
134
- ```
67
+ ## Requirements
135
68
 
136
- ---
69
+ [![Node.js](https://img.shields.io/badge/Node.js-20+-green.svg?style=for-the-badge&logo=node.js)](https://nodejs.org/)
70
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5+-blue.svg?style=for-the-badge&logo=typescript)](https://www.typescriptlang.org/)
71
+ [![Next.js](https://img.shields.io/badge/Next.js-15.4+-black.svg?style=for-the-badge&logo=next.js)](https://nextjs.org/)
137
72
 
138
73
  ## πŸ—οΈ Architecture
139
74
 
140
- The MCPJam Inspector is built as a modern monorepo with three main components:
75
+ MCPJam Inspector V1 is built as a modern Next.js application with integrated MCP capabilities:
141
76
 
142
77
  ```
143
- πŸ“¦ @mcpjam/inspector
144
- β”œβ”€β”€ πŸ–₯️ client/ # React + TypeScript frontend
145
- β”œβ”€β”€ πŸ”§ server/ # Express.js backend with WebSocket support
146
- └── πŸš€ cli/ # Command-line interface
78
+ πŸ“¦ @mcpjam/inspector-v1
79
+ β”œβ”€β”€ 🎨 src/app/ # Next.js 15 App Router
80
+ β”œβ”€β”€ 🧩 src/components/ # React components with Radix UI
81
+ β”œβ”€β”€ πŸ”§ src/lib/ # Utility functions and helpers
82
+ β”œβ”€β”€ 🎯 src/hooks/ # Custom React hooks
83
+ β”œβ”€β”€ πŸ“± src/stores/ # Zustand state management
84
+ β”œβ”€β”€ 🎨 src/styles/ # Tailwind CSS themes
85
+ └── πŸš€ bin/ # CLI launcher script
147
86
  ```
148
87
 
149
88
  ### Tech Stack
150
89
 
151
- - **Frontend**: React 18, TypeScript, Tailwind CSS, Radix UI
152
- - **Backend**: Express.js, WebSocket (ws), CORS support
153
- - **CLI**: Node.js with shell integration
154
- - **Build Tools**: Vite, TSC, Concurrently
90
+ - **Framework**: Next.js 15.4 with App Router and React 19
91
+ - **Styling**: Tailwind CSS 4.x with custom themes and Radix UI components
92
+ - **MCP Integration**: Mastra framework (@mastra/core, @mastra/mcp)
93
+ - **AI Integration**: AI SDK with OpenAI, Anthropic, and Ollama providers
155
94
 
156
95
  ---
157
96
 
@@ -167,81 +106,55 @@ cd inspector
167
106
  # Install dependencies
168
107
  npm install
169
108
 
170
- # Start development servers
109
+ # Start development server
171
110
  npm run dev
172
111
  ```
173
112
 
113
+ The development server will start at `http://localhost:3000` with hot reloading enabled.
114
+
174
115
  ### Build for Production
175
116
 
176
117
  ```bash
177
- # Build all components
118
+ # Build the application
178
119
  npm run build
179
120
 
180
- # Test the build
121
+ # Start production server
181
122
  npm run start
182
123
  ```
183
124
 
184
- ### Scripts for development
125
+ ### Available Scripts
185
126
 
186
- We put together these commands to help you build locally:
187
- | Script | Description |
188
- | ---------------------- | ------------------------------------------- |
189
- | `npm run dev` | Start development servers (client + server) |
190
- | `npm run build` | Build all components for production |
191
- | `npm run test` | Run test suite |
192
- | `npm run prettier-fix` | Format code with Prettier |
193
- | `npm run clean` | Clean all build artifacts and reinstall |
127
+ | Script | Description |
128
+ | ---------------------- | ----------------------------------------------- |
129
+ | `npm run dev` | Start Next.js development server with Turbopack |
130
+ | `npm run build` | Build the application for production |
131
+ | `npm run start` | Start the production server |
132
+ | `npm run lint` | Run ESLint code linting |
133
+ | `npm run prettier-fix` | Format code with Prettier |
194
134
 
195
135
  ---
196
136
 
197
137
  ## 🀝 Contributing
198
138
 
199
- We welcome contributions! We thought the original inspector repository moved too slowly, so we wanted to build this project ourselves.
200
-
201
- 1. **Clone** the repository
202
- 2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)
203
- 3. **Commit** your changes (`git commit -m 'Add amazing feature'`)
204
- 4. **Push** to the branch (`git push origin feature/amazing-feature`)
205
- 5. **Open** a Pull Request
206
-
207
- ## πŸ—ΊοΈ Our Roadmap
208
-
209
- We're continuously improving the MCPJam Inspector. Here's what's coming next:
139
+ We welcome contributions to MCPJam Inspector V1! Please read our [CONTRIBUTING.md](./CONTRIBUTING.md) for development guidelines and best practices.
210
140
 
211
- ### UI/UX Improvements
141
+ ### Development Workflow
212
142
 
213
- - **Fix dark mode styling** - Improve run tool button appearance in dark mode
214
- - **Enhanced logging UX** - Address misleading red color for INFO logs
215
-
216
- ### Core Features
217
-
218
- - **AI parameter fill** - Smart parameter completion using AI
219
- - **Collections** - Organize and group your MCP servers / tools
220
- - **Multi Provider support** - Support for other LLMs like ChatGPT
221
-
222
- ### Technical Enhancements
223
-
224
- - **Security scanning** - Built-in vulnerability scanning tools
225
- - **Electron App** - Desktop application for enhanced user experience
226
-
227
- ### Ecosystem
228
-
229
- - **Landing page improvements** - Update MCP Jam landing page
230
- - **Documentation expansion** - Enhanced guides and tutorials
231
-
232
- ### Development Guidelines
233
-
234
- - Follow the existing code style (Prettier + ESLint)
235
- - Update documentation as needed
236
-
237
- ---
143
+ 1. **Fork** the repository
144
+ 2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)
145
+ 3. **Develop** your changes with proper testing
146
+ 4. **Format** code with `npm run prettier-fix`
147
+ 5. **Lint** code with `npm run lint`
148
+ 6. **Commit** your changes (`git commit -m 'Add amazing feature'`)
149
+ 7. **Push** to your branch (`git push origin feature/amazing-feature`)
150
+ 8. **Open** a Pull Request
238
151
 
239
152
  ## πŸ“š Resources
240
153
 
241
- - **🌐 Website**: [mcpjam.com](https://mcpjam.com)
242
- - **πŸ“– Documentation**: [MCP Protocol Docs](https://modelcontextprotocol.io/)
243
- - **πŸ› Issues**: [GitHub Issues](https://github.com/mcpjam/inspector/issues)
244
- - **πŸ’¬ Discussions**: [GitHub Discussions](https://github.com/mcpjam/inspector/discussions)
154
+ - **πŸ’¬ Discord**: [Join the MCPJam Community](https://discord.gg/JEnDtz8X6z)
155
+ - **πŸ“– MCP Protocol**: [Model Context Protocol Documentation](https://modelcontextprotocol.io/)
156
+ - **πŸ”§ Mastra Framework**: [Mastra MCP Integration](https://github.com/mastra-ai/mastra)
157
+ - **πŸ€– AI SDK**: [Vercel AI SDK](https://sdk.vercel.ai/)
245
158
 
246
159
  ---
247
160
 
@@ -253,6 +166,8 @@ This project is licensed under the **Apache License 2.0** - see the [LICENSE](LI
253
166
 
254
167
  <div align="center">
255
168
 
256
- **Made with ❀️ by the [MCPJam](https://mcpjam.com) team**
169
+ **MCPJam Inspector V1** β€’ Built with Next.js and ❀️ for the MCP community
170
+
171
+ [🌐 Website](https://mcpjam.com) β€’ [πŸ“– Docs](https://modelcontextprotocol.io/) β€’ [πŸ› Issues](https://github.com/mcpjam/inspector-v1/issues)
257
172
 
258
173
  </div>