The developer created an MCP server for their product, utilizing an AI agent to write and verify the code in a single evening. The server operates via JSON-RPC over streamable HTTP, requiring no additional frameworks or SDKs. It functions as a lightweight service with intermittent traffic, typically staying within cloud free tiers.
Key challenges involved non-technical aspects like naming conventions, OAuth implementation, and registry requirements. The author noted that tool names are permanent once published in directories, and changing them later causes significant migration issues. Implementing OAuth for user authentication was identified as the most complex and costly part of the project.
The author highlighted the importance of proper testing and logging. Automated tests failed to catch issues that real-world clients encountered, such as data type mismatches with the database. To prevent versioning errors, the author suggests hashing the initialization response to ensure the server version is updated whenever the tool list changes.
Data from September 16 to October 1 showed over 3,700 connections, yet only 147 actual tool invocations occurred. Most connections were automated bots from registries and monitoring services. The author emphasizes that logging is essential to distinguish between automated liveness checks and actual user activity.
For developers, the author recommends defining tool names in documentation before coding, implementing request logging from the first deployment, and ensuring that mocks for testing derive types directly from the database to avoid false positives. Public access to tool lists should be allowed without authentication to improve discoverability.






