Code repository for "Building Agentic AI" by Sinan Ozdemir. Practical examples, experiments, and implementations covering LLMs, embeddings, agents, RAG, fine-tuning, and optimization.
Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
sinanuozdemir
Source: github_code
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.
OPENROUTER_API_KEYyour_actual_openrouter_api_key_hereHUBSPOT_API_KEYSERP_API_KEYFIRECRAWL_API_KEYyour_actual_firecrawl_key # Case Study 9: Deep ResearchSECRET_KEYFLASK_DEBUGRESEND_API_KEYyour_actual_resend_key # Case Study 7: AI SDRGROQ_API_KEYyour_actual_groq_api_key # Case Study 16: Voice BotCELERY_BROKER_URLCELERY_RESULT_BACKENDPORTTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
46/46 tools missing one or more hints — add (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); multiply (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); google_something (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +43 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
License file
No license file
Add a LICENSE file (MIT, Apache-2.0, etc.).
Tool test coverage
Only 2/46 tools referenced in tests (4%)
Write tests that reference each tool by name so every tool has at least one test.
Shell command execution
5 child_process/subprocess calls in production code — runs shell commands (reasoning_llms/computer_use/screenshot_app/main.js:55, reasoning_llms/computer_use/screenshot_app/main.js:106, agent_positional_bias/random_mcp_server.py:79)
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
Readable source code
1 file appear obfuscated
Ship unminified, readable source.
Secrets stay with their owner
6 secret/sensitive values flow into network calls (HUBSPOT_API_KEY → dynamic, HUBSPOT_API_KEY → dynamic) (2 other flows matched canonical API hosts)
Audit where credentials are sent. A NOTION_TOKEN should only reach api.notion.com — never a third-party host.
Secrets not logged
8 secret values sent to console.log
Redact or omit secret values from log output.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/sinanuozdemir-building-agentic-ai-1v450u)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check