DongneSOS MCP
Helps users prepare Korean neighborhood inconvenience reports by classifying issues, explaining evidence, and drafting neutral reports without submitting them.
README
DongneSOS MCP
동네SOS / 이거 어디에 말해? PlayMCP candidate implementation.
This server helps a user prepare a civic inconvenience report without doing the reporting for them. It classifies a Korean neighborhood issue, explains what evidence to prepare, and drafts a neutral copy/paste report. It never submits a report, logs in, reads KakaoTalk, collects precise location, uploads photos, or calls external government APIs.
MCP Tools
classify_civic_issue: classifies the issue into the fixed 28-item taxonomy, routes it to a channel family, and returns the canonical Pro Chat output fields:result_type,priority,routing,draft_policy, anderrors.draft_civic_report: creates a neutral report preparation draft for non-emergency cases only.
The server intentionally exposes exactly those two tools. Both tools declare
MCP inputSchema and outputSchema; the HTTP smoke verifies those schemas are
visible in tools/list.
Safety Boundaries
- Emergency or immediate-danger inputs return
emergency_redirectorblocked_emergency; draft generation is blocked. - PII-like text is masked before draft output.
- Defamation, punishment demands, and legal certainty phrases are neutralized.
- Channel routing is advisory. Users must verify the real local government channel before submitting.
presentation_mockis a lightweight ChatGPT card shape, not a dependency on Kakao Widget APIs.
Local Run
npm install
npm run check
npm run smoke:http
npm run smoke:dist
npm run dev -- --host 127.0.0.1 --port 3000
After npm run build, production start uses:
npm start
Container build:
docker build -t dongnesos-mcp .
docker run --rm -p 3000:3000 dongnesos-mcp
PlayMCP in KC image builds require linux/amd64, including on Apple Silicon:
npm run image:build:amd64
npm run image:push:playmcp
npm run image:push:playmcp is a dry-run by default. It only pushes after
external image publication is approved and the command is run with
DRY_RUN=0 CONFIRM_EXTERNAL_IMAGE_PUSH=1.
Container release smoke:
npm run smoke:docker
npm run preflight:release
npm run package:deploy
npm run verify:bundle
npm run evidence:submission
Endpoints:
GET /healthzPOST /mcp
Verification
npm run validate:data
npm run scan:policy
npm test
npm run build
npm run smoke:http
npm run smoke:dist
npm run smoke:docker
npm run preflight:release
npm run package:deploy
npm run verify:bundle
npm run evidence:submission
After deployment, verify the public endpoint and write review evidence:
MCP_URL=https://<kakao-cloud-endpoint>/mcp \
EVIDENCE_OUT=deploy/playmcp/evidence/remote-smoke.json \
npm run smoke:endpoint
The current acceptance target is at least 61 passing tests plus the HTTP MCP
smoke covering tools/list schemas, classify_civic_issue, and
draft_civic_report.
For the review narrative and sample cases, see DEMO_SCRIPT.md.
For owner approval and external deployment stop rules, see
deploy/playmcp/owner-approval-packet.md.
For the contest path, deploy through PlayMCP in KC first, copy its Endpoint
URL, then temporarily register that endpoint in the PlayMCP developer console.
See deploy/playmcp/playmcp-in-kc-registration.md for the exact field mapping.
For a clean source bundle that excludes node_modules, dist, and local
evidence files, run npm run package:deploy and use the tarball under
deploy/playmcp/package/.
To prove the latest tarball works from a clean extraction, run
npm run verify:bundle.
After local or remote smoke runs, npm run evidence:submission writes a
review-ready evidence draft to
deploy/playmcp/evidence/submission-evidence.generated.md.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.