Skip to main content
Glama
ivanbtrujillo

MCP Server Example

README.md

# MCP Server Example

This project is a very basic MCP server ready to be consumed by Cursor or other tools.

Modify index.ts and add any tools you want, or keep the default ones.

Then build the project:

```bash
pnpm run build
```

And run it:

```bash
pnpm run start
```

Now add a .cursor/mcp.json file in your project, and paste the following;

```
{
    "mcpServers":{
        "weather":{
            "command": "node",
            "args": ["[path]/build/index.js"]
        }     
    }
}
```
Replace [path] with the absolute path to this project. Run pwd in the project folder for that. For example, in my case it is:
```
{
    "mcpServers":{
        "weather":{
            "command": "node",
            "args": ["/Users/ivanbtrujillo/Development/mcp-server-spike/build/index.js"]
        }     
    }
}
```
Now go to "Settings" in cursor. You should be able to see the MCP server there. Enable it (click on the top right)
![MCP Server Cursor](./docs/mcp-server.png)

Now go to the chat, switch to Agent mode and select claude-3.7-sonnet as your model.

Type the following: 
```
What is the weather in Texas?
```

It will use the MCP to get first the weather alerts, and then the forecast
Here is an example of how the chat interface looks when querying the weather in Texas:

![Chat Interface](./docs/chat.png)

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves weather alerts for a state, and the other retrieves weather forecasts for a location. There is no overlap in functionality, making it easy for an agent to select the correct tool based on the need for alerts versus forecasts.

Naming Consistency5/5

Both tools follow a consistent verb-noun pattern with hyphens (get-alerts, get-forecast), using the same verb 'get' and descriptive nouns. This predictable naming scheme enhances readability and reduces confusion for agents.

Tool Count2/5

With only two tools, the server feels thin for a weather domain that typically involves more operations, such as current conditions, historical data, or radar imagery. This limited set may not fully support comprehensive weather-related tasks.

Completeness2/5

The tool set is severely incomplete for a weather server, lacking essential operations like getting current conditions, historical weather data, or radar images. This creates significant gaps that could lead to agent failures in handling broader weather queries.

Maintenance

ActivityInactive
ResponsivenessNo issues