github TypeScript analyzed 51cab3a

jmagly/hound-mcp

github

MCP server for Hound code search - expose regex-based code search to Claude Code and AI agents

maintainer
jmagly
licence
MIT
first seen
2026-08-30
last seen
2026-08-31
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 7 tools
transport stdio · streamable-http · http · sse counts 7 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • hound_file_context
  • hound_help
  • hound_index_repos
  • hound_repo_stats
  • hound_repos
  • hound_search
  • hound_search_symbol
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 51cab3a · analyzer v33 · 2w ago

skills & prompt files 2

danger signals1

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 36

filesystem 4

  • fs jmagly-hound-mcp-51cab3a/src/auth.ts :8 import { readFileSync, writeFileSync, existsSync } from 'node:fs';
  • fs jmagly-hound-mcp-51cab3a/src/indexer/index.ts :8 import { promises as fs } from 'node:fs';
  • fs jmagly-hound-mcp-51cab3a/src/indexer/parser.ts :9 import { promises as fs } from 'node:fs';
  • fs jmagly-hound-mcp-51cab3a/tools/release/verify-release.mjs :2 import { readFileSync } from 'node:fs';

shell / exec 2

  • shell jmagly-hound-mcp-51cab3a/src/webhook.ts :8 import { execSync } from 'node:child_process';
  • shell jmagly-hound-mcp-51cab3a/tools/release/verify-release.mjs :1 import { execFileSync } from 'node:child_process';

network 5

  • net jmagly-hound-mcp-51cab3a/src/clients/gitea.ts :122 const treeResponse = await this.fetch(treeUrl);
  • net jmagly-hound-mcp-51cab3a/src/clients/hound.ts :150 const response = await this.fetch(url);
  • net jmagly-hound-mcp-51cab3a/src/index.ts :11 import { createServer } from 'node:http';
  • net jmagly-hound-mcp-51cab3a/src/indexer/parser.ts :94 const response = await fetch(url);
  • net jmagly-hound-mcp-51cab3a/src/tools/context.ts :137 const response = await fetch(url, { headers });

secrets 6

  • secrets jmagly-hound-mcp-51cab3a/src/clients/gitea.ts :95 this.token = config?.token || process.env.GITEA_TOKEN || '';
  • secrets jmagly-hound-mcp-51cab3a/src/clients/hound.ts :65 const githubUrl = process.env.GITHUB_URL || (process.env.GITHUB_TOKEN ? 'https://github.com' : '');
  • secrets (weak) jmagly-hound-mcp-51cab3a/src/index.security.test.ts :6 delete process.env.MCP_APPROVAL_TOKEN;
  • secrets jmagly-hound-mcp-51cab3a/src/index.ts :234 const expected = process.env.MCP_APPROVAL_TOKEN;
  • secrets jmagly-hound-mcp-51cab3a/src/tools/context.ts :72 token: process.env.GITEA_TOKEN,
  • secrets jmagly-hound-mcp-51cab3a/src/webhook.ts :16 const WEBHOOK_SECRET = process.env.HOUND_WEBHOOK_SECRET || '';

tool registrations 7

  • hound_search jmagly-hound-mcp-51cab3a/src/index.ts :83
  • hound_repos jmagly-hound-mcp-51cab3a/src/index.ts :89
  • hound_file_context jmagly-hound-mcp-51cab3a/src/index.ts :95
  • hound_repo_stats jmagly-hound-mcp-51cab3a/src/index.ts :101
  • hound_search_symbol jmagly-hound-mcp-51cab3a/src/index.ts :107
  • hound_index_repos jmagly-hound-mcp-51cab3a/src/index.ts :113
  • hound_help jmagly-hound-mcp-51cab3a/src/index.ts :119

install hooks 1

  • prepublishOnly jmagly-hound-mcp-51cab3a/package.json :26 npm run build

declared dependencies 12

  • @modelcontextprotocol/sdk@^1.30.0
  • web-tree-sitter@^0.26.13
  • zod@^3.25.76
  • @eslint/js@^9.39.5
  • @types/node@^24.13.3
  • @vitest/coverage-v8@^4.1.11
  • eslint@^9.39.5
  • prettier@^3.9.6
  • tsx@^4.23.12
  • typescript@^5.9.3
  • typescript-eslint@^8.68.0
  • vitest@^4.1.11