Collect reviewed human answers through hosted handoffs, plus local templates and config validation.
MCPpedia last refreshed this data
io.github.msanchezgrice/talkform is an MCP server that collect reviewed human answers through hosted handoffs, plus local templates and config validation. Its tool list has not been published yet over stdio and http, requires no API key, and scores 85/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"io-github-msanchezgrice-talkform": {
"args": [
"-y",
"pnpm"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Collect reviewed human answers through hosted handoffs, plus local templates and config validation.
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
pnpm: Virtual store linker path traversal via unvalidated depPath name in lockfileToDepGraph
## Summary The virtual store linker constructs package installation directories using `path.join(modules, pkgName)` where `pkgName` is extracted from lockfile `packages` keys via `dp.parse(depPath).name` without validation. A crafted `pnpm-lock.yaml` with traversal sequences in depPath keys (e.g., `../../../tmp/pwned@1.0.0`) causes package content to be written to arbitrary filesystem paths during `pnpm install`. This is an incomplete fix of GHSA-fr4h-3cph-29xv — the `safeJoinModulesDir` conta
pnpm: A tarball dependency's manifest `name` escapes node_modules → arbitrary file write/overwrite on install
## Summary When resolving a package, pnpm uses the resolved **manifest `name`** as a raw path segment for the isolated-linker import target. A tarball dependency whose `package.json` `name` is a scoped path traversal (`@x/../../…/<abs path>`) is therefore extracted **outside `node_modules`**, to an attacker-chosen absolute path, and can **overwrite existing files** there. Attacker controls the destination, filenames, and contents → arbitrary file write → **code execution** (e.g. `~/.zshrc`, `.gi
pnpm: Environment secrets exfiltrated via env-placeholder expansion in proxy settings read from an untrusted pnpm-workspace.yaml
## Summary pnpm expands `${VAR}` environment placeholders in the `httpProxy` / `httpsProxy` / `noProxy` settings read from a project's `pnpm-workspace.yaml`. Because a project manifest is repository-controlled, a malicious repository that a victim merely clones and runs `pnpm install` in can route all install traffic through an attacker proxy whose hostname or userinfo embeds — and thereby exfiltrates — an environment secret such as `NPM_TOKEN` or `GITHUB_TOKEN`. This bypasses a trust boundary
pnpm: Environment secrets exfiltrated via env-placeholder expansion in proxy settings read from an untrusted pnpm-workspace.yaml
## Summary pnpm expands `${VAR}` environment placeholders in the `httpProxy` / `httpsProxy` / `noProxy` settings read from a project's `pnpm-workspace.yaml`. Because a project manifest is repository-controlled, a malicious repository that a victim merely clones and runs `pnpm install` in can route all install traffic through an attacker proxy whose hostname or userinfo embeds — and thereby exfiltrates — an environment secret such as `NPM_TOKEN` or `GITHUB_TOKEN`. This bypasses a trust boundary
pnpm: pacquet trust-lockfile install can create dependency symlinks outside the project
## Summary A crafted lockfile alias could reach several install-time filesystem joins. With `--trust-lockfile` or a frozen lockfile, traversal segments could create links outside the intended project or `node_modules` boundary. This patch validates dependency names and every virtual-store slot before creating directories, links, bins, or hoisted entries. ## Security boundary - A shared safe-join helper rejects traversal, absolute, platform-specific, and reserved dependency names before filesy
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in data / ai-ml
Token-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite
Manage Supabase projects — databases, auth, storage, and edge functions
A cross-platform desktop application for managing AI Agents and MCP Servers. 一款用于管理AI智能体与MCP服务器的跨平台桌面应用程序。
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
MCP Security Weekly
Get CVE alerts and security updates for io.github.msanchezgrice/talkform and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Turn any form into a live audio interview.
Talkform is a config-driven audio intake utility. Products define the fields they need, Talkform asks for them conversationally, binds structured values directly into the form, and exports JSON-ready session results.
apps/web: hosted app for talkform.aipackages/core: config schema, realtime prompt/tool generation, session/result helperspackages/react: embeddable React widgetpackages/http: process-local transient session and HTTP helperspackages/cli: agent-friendly CLIpackages/mcp: local MCP schema, template, and config-validation serverdocs: markdown documentation rendered in the web apppnpm install
pnpm dev
pnpm build
pnpm typecheck
OPENAI_API_KEYOPENAI_REALTIME_MODEL default gpt-realtime-2.1OPENAI_REALTIME_VOICE default marinTALKFORM_ENABLE_IMPORT_AI_REFINEMENT optional; only true enables paid AI copy refinement after deterministic importNEXT_PUBLIC_AUDIOFORM_VENDORNEXT_PUBLIC_AUDIOFORM_VENDOR_URLTransient session APIs and public Realtime client-secret issuance are disabled in hosted production by default. A production deployment needs a durable session store, a distributed rate limiter, and server authentication before those endpoints should be enabled. The current in-memory store and quotas are development/reference implementations; they do not provide cross-instance durability or enforcement.
Machine clients use two matching environment variables:
TALKFORM_API_TOKEN: server-only bearer token accepted by the web APIAUDIOFORM_API_TOKEN: client-side token read by the Talkform CLIFor a controlled deployment, TALKFORM_ENABLE_IN_MEMORY_SESSIONS=true and TALKFORM_ENABLE_PUBLIC_REALTIME=true opt into the reference endpoints. Do not use these flags to represent the current process-local implementations as production-ready infrastructure.