@papyruslabsai/seshat-mcp 0.16.4 → 0.16.7

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 (2) hide show
  1. package/dist/index.js +10 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -99,6 +99,12 @@ Metrics:
99
99
 
100
100
  All tools are read-only and safe to call speculatively — there is no cost to trying them.
101
101
 
102
+ TEMPORAL ANALYSIS — Any tool accepts an optional temporal parameter: { temporal: { last_n: N } }. This runs the tool across the N most recent snapshots and returns a trend — timeseries of scalar metrics plus entity-level diffs (what appeared/disappeared). Requires at least 2 snapshots (call sync_project after commits to build history). Example:
103
+ get_coupling_metrics({ project: "myapp", temporal: { last_n: 5 } })
104
+ → shows coupling trend over last 5 syncs
105
+ find_dead_code({ project: "myapp", temporal: { last_n: 3 } })
106
+ → shows whether dead code is accumulating or being cleaned up
107
+
102
108
  get_blast_radius and get_optimal_context are designed to be called iteratively. Start with any entity, then feed discovered entities back in to expand your understanding. Each round reveals new structure that informs where to look next. When answering "what does this system do?" questions, a few rounds of blast_radius → get_entity → blast_radius on the newly discovered symbols will build a complete picture faster than reading files.`;
103
109
  // ─── Private Tools (Ptah IP — never exposed publicly) ────────────
104
110
  // These tools are reserved for the Ptah write layer. They exist in
@@ -110,6 +116,7 @@ const PRIVATE_TOOLS = new Set([
110
116
  'diff_bundle',
111
117
  'conflict_matrix',
112
118
  'query_data_targets',
119
+ 'trace_boundaries', // Hidden until response shaping is refined
113
120
  ]);
114
121
  // ─── Shared Definitions ──────────────────────────────────────────
115
122
  const projectParam = {
@@ -285,7 +292,7 @@ const TOOLS = [
285
292
  {
286
293
  name: 'find_dead_code',
287
294
  title: 'Find Dead Code',
288
- description: 'Find functions that nothing calls. Walks the call graph from all entry points (routes, exports, tests) and flags symbols that are unreachable. Use this during cleanup or before a release to find safe deletion candidates. Note: JSX rendering (<Component />) is not currently tracked as a call edge. Sub-components rendered via JSX may appear as dead code in React/Vue codebases.',
295
+ description: 'Find functions that nothing calls. Walks the call graph from all entry points (routes, exports, tests) and flags symbols that are unreachable. Use this during cleanup or before a release to find safe deletion candidates.',
289
296
  inputSchema: {
290
297
  type: 'object',
291
298
  properties: {
@@ -566,7 +573,7 @@ function getCloudUrl(path) {
566
573
  async function main() {
567
574
  const server = new Server({
568
575
  name: 'seshat',
569
- version: '0.16.4',
576
+ version: '0.16.6',
570
577
  }, {
571
578
  capabilities: { tools: {} },
572
579
  instructions: SERVER_INSTRUCTIONS,
@@ -837,7 +844,7 @@ async function main() {
837
844
  });
838
845
  const transport = new StdioServerTransport();
839
846
  await server.connect(transport);
840
- process.stderr.write(`Seshat MCP v0.16.4 connected. Structural intelligence ready.\n`);
847
+ process.stderr.write(`Seshat MCP v0.16.6 connected. Structural intelligence ready.\n`);
841
848
  }
842
849
  main().catch((err) => {
843
850
  process.stderr.write(`Fatal: ${err.message}\n`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@papyruslabsai/seshat-mcp",
3
- "version": "0.16.4",
3
+ "version": "0.16.7",
4
4
  "description": "Semantic MCP server — exposes a codebase's structure, dependencies, and constraints as queryable tools",
5
5
  "type": "module",
6
6
  "bin": {