building-agentic-ai (sinanuozdemir/building-agentic-ai) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 43 tools. No publisher has claimed this listing.
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
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
addAdd two numbers
multiplyMultiply two numbers
google_somethingOnline Realtime Web Search
create_contactCreate a new contact in HubSpot CRM
fetch_contactsFetch contacts from HubSpot CRM with optional filters
update_contactUpdate an existing contact in HubSpot CRM
attach_note_to_contactCreate a new note and attach it to a specific contact in HubSpot CRM
retrieve_all_notes_for_contactRetrieve all notes associated with a specific contact from HubSpot CRM
web_searchSearch the web for information using SerpApi. Returns top 3 search results with titles, snippets, and URLs.
scrape_websiteScrape a webpage using Firecrawl. Can return content in markdown format or extract links.
database_query_toolExecute database queries, perform CRUD operations, and manage database schemas :param query: The SQL query to execute :param db: The database name to query :param query_type: Type of query ("select", "insert", "update", "delete", "create") :param limit: Maximum number of results to return :return: Q…
google_spreadsheet_toolExecutes specified actions on the Google Spreadsheet.
serp_toolSearch the web for information using the Google Search Engine :param query: The query to search for. :return: The search result.
firecrawl_toolCrawl webpages and return a markdown version of the html on the page :param website_url: The URL of the website to scrape return: The markdown version of the html on the page
ebay_price_toolCheck current eBay prices for items, get sold listings and average prices :param item_name: The name or description of the item to check :param condition: The condition of the item ("new", "used", "refurbished") :return: Current eBay price information and recent sold listings
python_repl_toolExecute valid python code and returns the printed values in the code :param command: The Python command to run. Always end with a print statement to show the output like "print(output)" :return: The output of the code.
weather_forecast_toolGet weather forecasts, current conditions, and weather alerts for locations :param location: The location to get weather for (city, coordinates, or address) :param days: Number of days to forecast (1-7) :param details: Level of detail ("basic", "detailed", "hourly") :return: Weather forecast informa…
social_media_toolPost content to social media platforms, manage posts, and get analytics :param platform: The platform to use ("twitter", "facebook", "instagram", "linkedin") :param action: The action to perform ("post", "schedule", "delete", "analytics") :param content: The content to post (for post/schedule action…
crypto_and_nft_toolGet current cryptocurrency prices and NFT prices around the world and for a specific wallet. :param query: The query to search for cryptocurrency or NFT prices. :return: The current cryptocurrency or NFT prices.
crm_contact_toolManage contacts in CRM system - add, search, update, delete contacts :param action: The action to perform ("add", "search", "update", "delete", "list") :Additional arguments based on action: - "add": Requires 'name', 'email', optional 'phone', 'company' - "search": Requires 'query' (name, email, or …
pdf_document_toolProcess PDF and document files - extract text, merge, split, convert, generate :param action: The action to perform ("extract_text", "merge", "split", "convert", "generate") :param file_path: Path to the PDF/document file :Additional arguments based on action: - "extract_text": Optional 'pages' rang…
translation_toolTranslate text between languages, detect language, and provide language information :param text: The text to translate :param target_language: The target language code (e.g., "es", "fr", "de") :param source_language: The source language code (auto-detect if not specified) :return: Translated text wi…
file_storage_toolManage files in cloud storage - upload, download, delete, share, organize :param action: The action to perform ("upload", "download", "delete", "share", "list", "move") :param file_path: Path to the file in cloud storage :Additional arguments based on action: - "upload": Requires 'local_path', 'clou…
email_sender_toolSend emails through various email providers with attachments and formatting :param to: Recipient email address :param subject: Email subject line :param body: Email body content :param cc: CC recipients (optional) :param bcc: BCC recipients (optional) :param attachments: List of file paths to attach…
calendar_scheduling_toolManage calendar events and scheduling - create, view, update, delete events :param action: The action to perform ("create", "view", "update", "delete", "find_available") :Additional arguments based on action: - "create": Requires 'title', 'date', 'time', optional 'duration', 'attendees' - "view": Re…
send_emailSends an email using Resend API. Args: to: List of recipient email addresses subject: Email subject line html: HTML content of the email from_address: Sender email address (defaults to account default) reply_to: List of reply-to email addresses cc: List of CC recipients bcc: List of BCC recipients t…
web_crawlerScrape a webpage using Firecrawl. Input format: 'URL|format' where format is 'markdown' (default) or 'links'. Example: 'https://example.com|markdown' and the result will be the entire website's content in markdown format
bm25_database_searchbehind configSearch the database using BM25 algorithm with keywords to find relevant policy information
OPENROUTER_API_KEYSet environment variables before starting Jupyter: export =your_keyHUBSPOT_API_KEYSERP_API_KEYFIRECRAWL_API_KEYFor web scrapingSECRET_KEYFLASK_DEBUGRESEND_API_KEYGROQ_API_KEYFor Groq API accessCELERY_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
44/44 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), +41 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/44 tools referenced in tests (5%)
Write tests that reference each tool by name so every tool has at least one test.
Shell command execution
2 calls in production code run through a shell (reasoning_llms/computer_use/screenshot_app/main.js:55, reasoning_llms/computer_use/screenshot_app/main.js:106)
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
Readable source code
1 file are minified or bundled, which is usually build output rather than concealment
Ship unminified, readable source.
Secrets not logged
1 secret value sent to print
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)?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