# Amir Pournasserian > Serial entrepreneur and hands-on AI architect. I build AI and platform systems that have to keep working once they meet production, compliance and scale. The 47 pages of https://pournasserian.com/, as indexed on 2026-10-17. AI assistants can search and read them through the MCP server at https://ai.pournasserian.com/mcp (tools `search` and `fetch`), and scripts through https://ai.pournasserian.com/api/search?q=. ## Writing: MCP Servers, AI Tooling, IoT - [Writing: MCP Servers, AI Tooling, IoT](https://pournasserian.com/writing): Notes from Amir Pournasserian's research: MCP servers, AI tooling for codebases, and the IoT and machine-learning work that came before. - [Choosing an MCP primitive: tool, resource or prompt](https://pournasserian.com/writing/mcp-2026-choosing-a-primitive): How to choose between an MCP tool, resource and prompt: who decides when each is used, where instructions, Skills, Apps and Tasks fit, and a procedure to follow. - [MCP prompts: list, get, completion and a Python example](https://pournasserian.com/writing/mcp-2026-prompts): How MCP prompts work under the 2026-07-28 spec: how hosts invoke them, prompts/list and prompts/get, argument completion, safe arguments and a Python example. - [MCP resources: URI templates, reads and not-found errors](https://pournasserian.com/writing/mcp-2026-resources): How an MCP server lists and reads resources and URI templates under the 2026-07-28 spec, the error a missing resource gets, and what hosts and the Python SDK do. - [Designing an MCP tool: definitions, annotations and results](https://pournasserian.com/writing/mcp-2026-tool-definitions): What an MCP tool definition and its result carry under the 2026-07-28 spec: naming rules, annotations, content and structuredContent, with a Python weather tool. - [MCP tool errors: isError, protocol errors and tool design](https://pournasserian.com/writing/mcp-2026-tool-errors-and-design): When an MCP tool should return isError and when a protocol error, what the Python SDK does with exceptions, the security duties, and how to design tools models use well. - [MCP caching hints and pagination: ttlMs and cacheScope](https://pournasserian.com/writing/mcp-2026-caching-and-pagination): How an MCP server marks its results with ttlMs and cacheScope, why its tool order should stay stable, and how cursor pagination works under the 2026-07-28 spec. - [MCP server/discover: the method every server must implement](https://pournasserian.com/writing/mcp-2026-server-discover): What server/discover returns under the 2026-07-28 MCP spec, how a client negotiates a version or falls back to initialize, and how to read it with the Python SDK. - [MCP server instructions: what to write and what to leave out](https://pournasserian.com/writing/mcp-2026-server-instructions): What MCP server instructions are under the 2026-07-28 spec, how hosts such as Claude Code load them, and what to write and what to leave out, with a Python example. - [Stateless MCP requests: _meta, resultType and handles](https://pournasserian.com/writing/mcp-2026-stateless-requests): How a 2026-07-28 MCP request carries its version and capabilities in _meta, how a client branches on resultType, and how a server keeps state with explicit handles. - [MCP transports: stdio, Streamable HTTP and routing headers](https://pournasserian.com/writing/mcp-2026-transports): How MCP's two transports work under the 2026-07-28 spec: stdout on stdio, the headers that route a Streamable HTTP request, x-mcp-header, and proxy timeouts. - [What an MCP server does in 2026: more than tools](https://pournasserian.com/writing/mcp-2026-what-a-server-does): What an MCP server does under the 2026-07-28 spec: three roles, how duties differ from features and extensions, one request traced through, and a one-tool Python server. - [MCP 2026-07-28: what changed in the stateless spec](https://pournasserian.com/writing/mcp-2026-what-changed): The 2026-07-28 MCP specification drops the handshake, sessions and server-initiated requests: what replaces them, what else changed, and what is now deprecated. - [MCP servers for websites: 44 tools compared, 2026](https://pournasserian.com/writing/mcp-servers-for-websites-2026): Forty-four ways to let any AI agent search and ask a website over MCP, from Wix, Shopify and GitBook to NLWeb and CMS plugins, sorted by who runs the server. As documented on 7 October 2026. - [AI code documentation tools compared, 2026](https://pournasserian.com/writing/ai-code-documentation-tools-2026): Seventeen tools that turn a repository into documentation, from DeepWiki and Google Code Wiki to CodeWiki, OpenDeepWiki and Swimm, compared on access, outputs and audiences, with the gaps they leave. As of 1 October 2026. - [Evidence-labelled code documentation: a design](https://pournasserian.com/writing/evidence-labelled-code-documentation): A design for documentation generated from code where every fact carries its evidence and one of three labels, observed, documented or inferred, so managers, business readers and coding agents can tell what was read from the code and what a model inferred. - [MCP server testing tools compared, 2026](https://pournasserian.com/writing/mcp-server-testing-tools-2026): Thirty-one tools that inspect, test, audit, secure or load test an MCP server, compared on twelve capabilities, and the gaps none of them fills. As documented on 1 October 2026. - [MCP server rules: Claude, ChatGPT, Codex, VS Code and more](https://pournasserian.com/writing/what-ai-hosts-require-of-an-mcp-server): The checkable rules each AI host applies to an MCP server, from tool-name length to mandatory annotations and timeouts, where they conflict, and which tools validate against them. As of 1 October 2026. - [IoT webhooks, device management and testing](https://pournasserian.com/writing/iot-webhooks-device-management-testing): How a webhook carries sensor data, what managing a fleet of IoT devices involves, and what to test before a full deployment. From 2018. - [Bluetooth Low Energy fundamentals](https://pournasserian.com/writing/bluetooth-low-energy-fundamentals): How Bluetooth Low Energy saves power, which devices can talk to which, how a sensor reaches the internet, and what mesh adds, as the technology stood in 2018. - [BLE beacons in practice](https://pournasserian.com/writing/ble-beacons-in-practice): The four decisions in a Bluetooth beacon deployment: iBeacon or Eddystone, which sensors, a point or grid layout, and how much transmission power. From 2018. - [Indoor location: RTLS, beacons and UWB](https://pournasserian.com/writing/indoor-location-rtls-beacons-uwb): What makes a tracking system a real-time location system, which technologies it can run on, and when to choose Bluetooth beacons or ultra-wideband. From 2018. - [MNIST digit recognition: six neural networks](https://pournasserian.com/writing/mnist-handwritten-digit-recognition): Six TensorFlow models for the MNIST handwritten digits, from one softmax layer at 92% to a convolutional network with batch normalization at 99.4%. From 2017. - [Sentiment analysis with TextBlob and Tweepy](https://pournasserian.com/writing/twitter-sentiment-textblob-tweepy): A weekend experiment from January 2017: reading a live Twitter stream with Tweepy and scoring each tweet with TextBlob, in about thirty lines of Python. ## Case Studies: AI, Banking, Defence, IoT - [MayAI: A Consumer AI Agent](https://pournasserian.com/case-studies/mayai): MayAI is a consumer AI agent for households in the UAE. I co-founded it, designed the agent and led the build of a prototype that orders food by chat. - [Case Studies: AI, Banking, Defence, IoT](https://pournasserian.com/case-studies): Case studies from Amir Pournasserian: multi-agent AI, banking software, defence R&D, travel platforms and IoT hardware. - [Private Lending Platform: Wallets and Ledger](https://pournasserian.com/case-studies/private-lending-platform): How I architected a lending platform for a private investment firm: investor wallets, automatic funding of installment invoices and a duplicate-proof ledger. - [Valco AI: Real Estate Intelligence](https://pournasserian.com/case-studies/valco-ai): How I built Valco AI, a real estate intelligence platform for Valco Properties: Dubai Land Department data, forecasting models and a conversational assistant. - [DevGuardian AI: Multi-Agent Code Review](https://pournasserian.com/case-studies/devguardian-ai): DevGuardian AI is a multi-agent code review platform with Architect, QA and Security agents and code-aware retrieval. I architected and built it. - [Momentrack: Real-Time Resource Tracking](https://pournasserian.com/case-studies/momentrack): How Momentaj built Momentrack for Canada's DND: tags, a vehicle gateway and a private cloud on a live incident map, proven in ten tests. - [Tajan: From Three People to Fifty](https://pournasserian.com/case-studies/tajan): How I founded Tajan in 2002 and built it from three people to fifty, with software products in use at 12 major Iranian banks. Acquired in 2021. - [Tingslab: A Cellular GPS Tracker](https://pournasserian.com/case-studies/tingslab): How I co-founded Tingslab in 2018 and led engineering for Tings, a 23-gram LTE-M and NB-IoT GPS tracker, from device firmware to cloud. Stopped in 2020. - [Trip Support: Travel Booking Platform](https://pournasserian.com/case-studies/trip-support): How I built the booking platform for Trip Support, a Canadian online travel agency, as fractional CTO from 2019 to 2022 and grew the team to 14. ## Startup and Open-Source Ideas - [Startup and Open-Source Ideas](https://pournasserian.com/ideas): Startup and open-source ideas from Amir Pournasserian, shared for anyone who wants to build them. - [Sites that speak for themselves: an agent endpoint for every small website](https://pournasserian.com/ideas/sites-that-speak-for-themselves): An idea for an open-source tool that lets a small website answer AI agents, its own search box and a chat window from one index built when the site is published. - [An OS for AI agents: not the one on your laptop](https://pournasserian.com/ideas/an-os-for-ai-agents): An idea for running a fleet of personal AI agents: not an operating system per agent, but one small host that holds what each agent may call, spend and do. - [An AI-first CMS: AI operates, people govern](https://pournasserian.com/ideas/ai-first-cms): An idea for a CMS built the other way round: the AI does the work by default, and people write the rules and review what matters before it goes live. - [MCP is in its Yahoo era](https://pournasserian.com/ideas/mcp-is-in-its-yahoo-era): An idea for the ranking era of MCP: one service an agent asks "who can do this?" and gets the best servers back, and why the time to build it is now. ## Open Source: FluentCMS, YeSvelte, uBeac - [uBeac IoT Platform, Open Source](https://pournasserian.com/open-source/ubeac): uBeac was an IoT platform I founded and built from 2017 to 2020. I've now published the platform's source code under the MIT license. - [Open Source: FluentCMS, YeSvelte, uBeac](https://pournasserian.com/open-source): Open-source projects by Amir Pournasserian: FluentCMS for .NET, YeSvelte for Svelte and the uBeac IoT platform. - [FluentCMS: an API-First Blazor CMS](https://pournasserian.com/open-source/fluentcms): FluentCMS is an open-source .NET CMS built on ASP.NET Core and Blazor. It works as a page-building or headless CMS, with both running on the same API. - [YeSvelte: Swappable Svelte Themes](https://pournasserian.com/open-source/yesvelte): Open-source Svelte UI components with semantic markup. Switch between Tabler (Bootstrap 5) and daisyUI (Tailwind) themes by swapping one stylesheet. ## Home - [Amir Pournasserian | Serial entrepreneur, hands-on AI architect](https://pournasserian.com/): Serial entrepreneur and hands-on AI architect. I build AI and platform systems that have to keep working once they meet production, compliance and scale. ## About - [About](https://pournasserian.com/about): Amir Pournasserian has spent over twenty years architecting systems that aren't allowed to fail, from banking software to defence R&D to multi-agent AI. ## Experience - [Experience](https://pournasserian.com/experience): Career timeline of Amir Pournasserian: founder of Tajan and uBeac, architect for Trip Support and DND, now a Principal AI Engineer/Architect. ## Expertise: AI Agents, Platforms, IoT, ML - [Expertise: AI Agents, Platforms, IoT, ML](https://pournasserian.com/expertise): Amir Pournasserian's expertise: AI and agent engineering, enterprise platforms, IoT, applied ML, regulated banking systems and technical leadership. ## R&D & Collaborations - [R&D & Collaborations](https://pournasserian.com/rd-collaborations): R&D by Amir Pournasserian: beacon hardware, indoor positioning, IoT pipelines and Blazor performance, plus academic collaborations.