MCP through a Business Analyst lens
When I discovered the Model Context Protocol at the end of 2024, my first reaction was: "Finally a standard!" As a Business Analyst accustomed to modelling system integrations, the lack of standardisation in the LLM ecosystem had always struck me. MCP fills this gap elegantly.
Simplified technical architecture
MCP is built on a JSON-RPC 2.0 communication protocol, transported via stdio (for local processes) or SSE/HTTP (for remote servers). Here are the key concepts a BA needs to master:
MCP primitives
Tools: functions the LLM can invoke with typed parameters. Example: create_jira_ticket(project, summary, description, priority)
Resources: data exposed as read-only by the server, identified by a URI. Example: jira://project/EQUANS/tickets/open
Prompts: reusable prompt templates that applications can invoke. Example: a "sprint-analysis" template that pre-fills project context.
Modelling MCP flows: a Business Analyst view
| Actor | Role in MCP | Business analogy |
|---|---|---|
| LLM (Claude) | Decision-maker, orchestrator | Project manager |
| MCP Host | Execution environment | Workspace |
| Jira MCP Server | Jira connector | Dedicated Jira assistant |
| DB MCP Server | Database access | Data analyst |
| Slack MCP Server | Messaging connector | Communication manager |
Creating your first MCP Server in Python
The technical barrier is lower than you might think:
from mcp.server import Server
from mcp.types import Tool
server = Server("my-project-server")
@server.list_tools()
async def list_tools():
return [Tool(name="get_sprint_velocity",
description="Calculate current sprint velocity",
inputSchema={"type":"object","properties":{}})]
@server.call_tool()
async def call_tool(name, arguments):
if name == "get_sprint_velocity":
# Jira API call here
return velocity_data
In 50 lines of Python, you expose your first MCP tool. Claude can then use it naturally in conversations.
IT governance implications
MCP raises new governance questions: who controls which servers are accessible? How to audit MCP calls? How to manage granular permissions? These questions must be addressed in your AI policy before any production deployment.
