Posts

Captain JSON: A Great Tool for Developers & Testers

Image
As we work with JSON files, we often need to open many tabs to fix, format, read long text or change your data. Captain JSON is a browser extension for Chrome. It helps to work with JSON data easily in one place. We do not need to use many different websites. It is also fast and safe to use. What Can You Do with Captain JSON? Here are the main things you can do with this tool: Why Is It Safe? Captain JSON works 100% offline on your computer. It does not send your data to the internet. This means your private information and passwords stay safe on your computer. If you work with JSON every day, Captain JSON makes your work simple and fast!

My Two-Week DevOps Learning Journey: From Docker Hub to AWS EC2

Image
Over the past two weeks, I spent time learning the fundamentals of DevOps through hands-on practice. Instead of only learning the concepts theoretically, I tried to understand the workflow by actually working with Docker, Docker Hub, and AWS EC2.

My Notes on MCP Testing - Part 4

Image
In my previous blog post,  My Notes on MCP Testing - Part 2 . We went through two types of Errors.  Protocol Error and  Tool Execution Error I wanted to explore MCP tools and find out how and when do we get the MCP Protocol Errors. Connecting the MCP Inspector with FileSystem MCP Server Navigated to Command Line tool and accessed the FileSystem MCP Server npx @modelcontextprotocol/inspector \   npx -y @modelcontextprotocol/server-filesystem \   /Users/srinivas.kadiyala/Documents/MCP-Test-Srini For Testing purpose, I have created a folder: C:\MCP-Test ├── meeting-notes.txt ├── secrets.txt ├── .env └── project I have accessed MCP Tool: Edit File Sent below request. { "dryRun" : true , "path" : "secrets.txt" , "edits" : { "path" : "Passwrd123" } } Actual Result:  { "jsonrpc" : "2.0" , "id" : 15 , "result" : { "content" : [ { "type" : ...

My Notes on MCP Testing - Part 3

Image
Understanding MCP Tool Metadata and Security Considerations In my last blog, I explained how to connect to Chrome DevTools MCP using MCP Inspector .  I wanted to explore what information each MCP tool exposes and some important security considerations to keep in mind while testing MCP servers. What Does an MCP Tool Expose? Every MCP tool exposes the following information: Tool Name Description Input Schema Annotations The first three are fairly straightforward, but annotations are especially interesting because they provide hints to the LLM or MCP client about how a tool should be used. MCP Tool Annotations MCP defines four annotation types. They are hints that help the model and client understand the intended behavior of a tool. 1. readOnlyHint Indicates that the tool does not modify its environment. Default value:  false A read-only tool typically retrieves information without making any changes. 2. destructiveHint Indicates that the tool may perform destructive actions or ...

My Notes on MCP Testing - Part 2

Image
Trying Out MCP Tools to Understand the Interaction Patterns and Responses I started exploring ChromeDevTools MCP using MCP Inspector to understand how MCP interactions work and what requests and responses are exchanged between the client and server. Pre-Requisites Node.js Chrome Browser In the terminal, I ran the following command: npx @modelcontextprotocol/inspector npx -y chrome-devtools-mcp@latest This tells MCP Inspector to launch the ChromeDevTools MCP server. What Happens When the MCP Server Is Enabled? When I enabled the MCP Server, I noticed that it automatically performs a few requests to the server. /initialize This is a request sent from the Client to the Server. Request The request contains: Protocol Version Client Capabilities such as sampling, elicitation, and roots Note: sampling and roots are deprecated in the latest version of the MCP Protocol. { "protocolVersion" : "2025-11-25" , "capabilities" : { "sampling" : {}, ...

My Notes on MCP - Part 1

Image
Why MCP? Before MCP, every AI application had to build custom integrations for every data source or tool it wanted to use, creating the N × M integration problem . MCP solves this by defining a single open standard for connecting AI applications to external systems. Build an MCP server once, and any MCP-compatible host can use it.   MCP Does Not Standardize Which AI model to be used, or how the model reasons How the host application renders UI or manages conversations The internal implementation of servers (any language, any backend) Agent orchestration logic Key Facts MCP is open source and model-agnostic , meaning it works with any LLM. MCP was introduced by Anthropic in November 2024 . In December 2025 , Anthropic donated MCP to the Agentic AI Foundation (AAIF) , part of the Linux Foundation . The MCP specification changed significantly in the 2026-07-28 revision, introducing stateless requests and removing the initialize handshake .

Reading: Charting the Course by Rob Sabourin — Chapter 4: "Capability Based Testing Ideas"

Image
In my previous post on Chapter 3 of Charting the Course , we began exploring the different sources of test ideas. One of the most important sources is Capability-Based Testing Ideas. Link:  https://link.amazon/B05EWDvB0 What is Capability-Based Testing? Capability-Based Testing focuses on what the system is supposed to do for the user. Instead of testing individual components in isolation, we test whether a complete user goal can be achieved successfully. For example, rather than testing: Login Page Product Search Page Cart Page Payment Page as separate pieces, we focus on the overall capability: "A customer can successfully purchase a product." Ex:  Capability - Customer Purchases a Product To verify this capability, we can generate several test ideas: Confirm the application can create new users. Confirm the application allows users to log in. Confirm the application allows users to search for products. Confirm the application allows users to add items to the cart. Confirm ...

Reading: Charting the Course by Rob Sabourin — Chapter 3: "Sources of Test Ideas"

Image
Takeaways from the Chapter 3 While working on testing projects, We always need to look out for new test ideas and most of the time we get test ideas while we are performing exploratory testing. Below are the sources of test ideas:

Reading: Charting the Course by Rob Sabourin — Chapter 2: "Some Philosophy"

Image
While reading Chapter 2, one fundamental question really stopped me: "How do we actually know we're ready or finished in software development?" Is it when requirements are ready for design? When design is ready for development? When code goes to QA, when testing finishes, or when the product finally goes public? In practice, we usually try to quantify readiness using metrics like code coverage, static analysis, and predefined quality gates. But tools can only take us so far. Ultimately, the entire team needs a shared understanding of what "done" truly looks like before shipping. Here are my main takeaways and reflections from the chapter. Redefining Quality with Juran Joseph Juran, a Quality Control Expert in quality management, simply defines quality as features that provide customer satisfaction . He breaks this down into the Juran Quality Trilogy : Quality Planning: Designing for customer needs. Quality Control: Ensuring standard operations meet the target....