Commit graph

7 commits

Author SHA1 Message Date
Hans Aschauer
02931b70d5 fix: enhance download-docs skill to handle working-directory and update metadata file extension 2026-05-18 07:33:19 +02:00
Hans Aschauer
8288787b4e feat: add timeout configuration for outgoing HTTP requests and update documentation 2026-05-18 07:33:07 +02:00
Hans Aschauer
3ebd7c5e4a add fetch_raw tool and download-docs skill
- fetch_raw: new MCP tool that fetches URLs via httpx without HTML
  extraction, returning raw text + status_code. Does not call
  raise_for_status() so 404s are returned as data, not exceptions.
- download-docs skill: SKILL.md with 5-step process (branch discovery,
  CI hint, docs dir discovery, recursive download, meta sidecars) and
  complete mcp-forge script skeleton, validated end-to-end inside
  mcp-forge against encode/starlette (26 files, 0 errors).
2026-04-21 20:31:49 +02:00
Hans Aschauer
3cead45934 docs: add keyword-only args note to mcp-forge-conventions skill 2026-04-21 19:45:44 +02:00
Hans Aschauer
678e052315 feat: add prompt-guard honeypot for prompt injection detection
- New src/prompt_guard/ package with pydantic-ai Agent + 7 fake tools
  (read_file, write_file, list_directory, execute_shell, make_http_request,
  send_email, query_database) that return plausible but harmless responses
- Injection detected when the model makes any tool call; content is blocked
  entirely (never returned to caller), all calls logged at WARNING level
- Config via PROMPT_GUARD_* env vars (pydantic-settings); system prompt
  deliberately encourages tool use to maximise detection sensitivity
- server.py: SEARXNG_GUARD_ENABLED flag (default false) + guard call in
  _fetch_and_extract; blocked content is not stored in the cache
- Fix Settings.extra='ignore' on both Settings classes so PROMPT_GUARD_*
  and SEARXNG_* vars don't cause validation errors in the other class
- Fix _build_model: use explicit OpenAIProvider when api_key is set so
  PROMPT_GUARD_API_KEY from .env is honoured (pydantic-settings does not
  populate os.environ, so pydantic-ai's auto-provider couldn't find it)
2026-04-21 19:45:19 +02:00
Hans Aschauer
27e0805898 docs: add README with server usage and SearxNG Docker Compose setup 2026-04-20 11:46:43 +02:00
Hans Aschauer
8885c1872f Initial commit 2026-04-20 11:42:25 +02:00