Mcp Poc — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Poc (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This folder contains the MCP server and unstructured-text ingestion pipeline for the support-ticket triage demo.
The server exposes knowledge-base articles and sample tickets through MCP tools. The search tool is backed by a local SQLite vector index built from Markdown files in data/kb/.
mcp/
├── main.py # FastMCP server
├── pipeline.py # Ingest, chunk, embed, and store KB documents
├── vector_store.py # SQLite vector search helpers
├── models.py # Pydantic models returned by tools
└── data/
├── kb/ # Source knowledge-base articles
├── tickets/ # Sample support tickets
└── index.db # Generated SQLite indexThe MCP server currently exposes:
search_kb(query: str) -> list[Chunk]Semantic search over indexed KB chunks.
get_article(name: str) -> strFetch a full KB article by filename.
list_tickets(status: str) -> list[Ticket]List sample tickets by status.
Install dependencies:
uv syncSet the Gemini API key used for embeddings:
export GEMINI_API_KEY="..."Run the ingestion pipeline:
uv run python pipeline.pyThe pipeline:
data/kb/.gemini-embedding-001.data/index.db.Start the MCP server over stdio:
uv run python main.pyMost clients, including the ADK agent in ../agent, launch this command as a subprocess instead of running it manually.
Example stdio client configuration:
{
"mcpServers": {
"kb-server": {
"command": "/Users/vianel/Workspace/samples/mcp/.venv/bin/python",
"args": ["/Users/vianel/Workspace/samples/mcp/main.py"],
"env": {
"GEMINI_API_KEY": "${GEMINI_API_KEY}"
}
}
}
}Rebuild the index and check that reruns skip unchanged files:
uv run python pipeline.py
uv run python pipeline.pyThen run the agent-side discovery script from ../agent:
cd ../agent
uv run python discovery.pyYou should see the MCP tools discovered by the client.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.