MCP Workshop Starter
Fetches and processes the latest news from CNN's RSS feed, allowing users to get summaries, filter for positive news, or request news in different writing styles.
Retrieves and analyzes pull request diffs from GitHub repositories, enabling code review of open source PRs by fetching the git diff patch.
Retrieves and processes content from RSS feeds, allowing users to get the latest news and information from various sources.
Enables running the MCP server using Ruby, providing the core functionality for the service.
Provides a web server implementation option for running the MCP server using the Sinatra framework.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Workshop Starterwhat time in Valencia is 9am NY time?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Model Context Protocol — Workshop starter
Ideas
Get public holidays: I have 15 remaining vacation days, use public holidays and optimize when to get them.
Get HDD free space: How many copies of War and Peace I can store in the remaining space on my HDD?
Convert timezones: What time in Valencia is 9am NY time? Here’s the agenda for the conference, show me the schedule in Sofia time.
Get latest news from RSS: What are the positive news from CNN? Summarize what’s happening in the USA right now in the style of Bill Hicks.
Get diff of pull request: Perform code review of this open source PR https://github.com/rails/rails/pull/55072 (hint if you append .diff to the URL you get the git diff patch)
Get Core Web Vitals for an URL: How can I improve the performance of this website https://www.flywire.com
Related MCP server: MCP Server Scaffold
Resources
Getting started with plain Ruby
Install dependencies with:
gem install fast-mcpGetting started with Sinatra
Install dependencies with:
bundle installStart the server with:
ruby sinatra.rbGetting started with Node
Install dependencies with:
npm installTesting with MCP Inspector
Start the official MCP inspector:
npx @modelcontextprotocol/inspectorOpen http://127.0.0.1:6274/ and connect to you server:
Plain Ruby
transport: stdio
command: ruby
arguments: /path/to/server.rb
Sinatra
transport: sse
Node
transport: stdio
command: node
arguments: /path/to/build/index.js
Go to Tools and explore.
Testing with AI agent
You can use the following clients:
Claude Desktop
Visual Studio Code
Cursor
Zed
Follow its configuration to add the MCP server to the list of tools.
Available Tools
1 toolget-igorC
When somebody asks for or mentions Igor
| Name | Required | Description | Default |
|---|---|---|---|
| favor | Yes | Requests for Igor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but fails to deliver. It doesn't indicate whether this is a read or write operation, what permissions might be required, what the response format might be, or any side effects. The description provides no behavioral context beyond the vague triggering condition, leaving the agent with minimal understanding of how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence with no wasted words. However, this conciseness comes at the cost of meaningful content. While technically efficient in terms of word count, the description is under-specified rather than optimally concise, which slightly reduces the score from a perfect 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, no output schema, and a description that provides minimal functional information, the description is incomplete. While there's only one parameter with good schema coverage, the description fails to explain what the tool actually does, when to use it, or what behavior to expect. For even a simple tool, this level of documentation is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for its single parameter 'favor' (described as 'Requests for Igor'), so the schema does the heavy lifting. The tool description adds no additional parameter information beyond what's already in the schema. With high schema coverage and no parameters mentioned in the description, this meets the baseline expectation of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'When somebody asks for or mentions Igor' is tautological - it essentially restates the tool name 'get-igor' without specifying what the tool actually does. It doesn't explain what action is performed or what resource is accessed. The description lacks a clear verb+resource combination that defines the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance - it suggests using the tool when someone 'asks for or mentions Igor,' but this is vague and doesn't establish clear usage criteria. There are no explicit when-to-use or when-not-to-use guidelines, no mention of prerequisites, and no alternatives since there are no sibling tools. The guidance is insufficient for an agent to make informed decisions about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
get-igor
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly distinct by default.
A single tool inherently has consistent naming, as there are no other tools to compare it against. The tool name 'get-igor' follows a verb-noun pattern, which is straightforward.
One tool is generally too few for a server's purpose unless it's extremely narrow, but the tool description suggests a trivial or joke functionality ('When somebody asks for or mentions Igor'), which feels insufficient for a meaningful server scope. This mismatch makes the count inappropriate.
The server's domain is unclear from the single tool, but the tool 'get-igor' appears to be a trivial or humorous response mechanism. There are obvious gaps as no meaningful operations or lifecycle coverage are provided, making the surface severely incomplete for any practical purpose.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseAqualityDmaintenanceA template for building Model Context Protocol servers that allow AI assistants to interact with custom data and services through queryable resources and specialized tools.6MIT
- FlicenseBqualityDmaintenanceA basic starter project for building Model Context Protocol (MCP) servers that enables standardized interactions between AI systems and various data sources through secure, controlled tool implementations.2-
- FlicenseBqualityDmaintenanceA starter template for building Model Context Protocol servers that can integrate AI assistants with custom tools, resource providers, and prompt templates.184 npm1-
- FlicenseCqualityDmaintenanceA starter template for building Model Context Protocol servers that integrate with AI assistants like Claude and Cursor, providing custom tools, resource providers, and prompt templates.25 npm-