search-fetch-server MCP Server
by nexon33
This is a TypeScript-based MCP server that implements a simple notes system. It demonstrates core MCP concepts by providing resources representing text notes, tools for creating notes and fetching URLs, and prompts for generating summaries.
Last updated: N/A
search-fetch-server MCP Server
A Model Context Protocol server
This is a TypeScript-based MCP server that implements a simple notes system. It demonstrates core MCP concepts by providing:
- Resources representing text notes with URIs and metadata
- Tools for creating new notes, fetching URLs, and performing searches
- Prompts for generating summaries of notes
Features
Resources
- List and access notes via
note://
URIs - Each note has a title, content and metadata
- Plain text mime type for simple content access
Tools
create_note
- Create new text notes- Takes title and content as required parameters
- Stores note in server state
fetch_url
- Fetch content from a URL and optionally convert to markdown using Puppeteer- Takes a URL as a required parameter
- Takes an optional
use_puppeteer
boolean parameter. If true, it will use puppeteer withwaitUntil
set tonetworkidle2
and a timeout of 30 seconds. Otherwise, it will use axios. - Returns the content of the URL as markdown if using puppeteer, otherwise returns the content as is.
duckduckgo_search
- Perform a DuckDuckGo search- Takes a query as a required parameter
- Returns search results as a JSON string
Prompts
summarize_notes
- Generate a summary of all stored notes- Includes all note contents as embedded resources
- Returns structured prompt for LLM summarization
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Installation
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"search-fetch-server": {
"command": "node",
"args": ["/path/to/search-fetch-server/build/index.js"]
}
}
}
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.