TypeScript MCP server for notes creation, search, fetch URL content, and summarization features
The Search-Fetch Server is a TypeScript-based Model Context Protocol (MCP) server that implements a simple but powerful notes management system. It showcases fundamental MCP concepts by offering tools for creating, fetching, and searching through notes—each with its own note://
URI and metadata. This document will detail the capabilities of this server, how it integrates with AI applications like Claude Desktop, and provide you with the necessary setup instructions.
The Search-Fetch Server equips users with a resource-based model where notes are accessible via note://
URIs. Each note carries essential details such as:
The server supports plain text MIME types, allowing straightforward rendering and editing. This architecture ensures seamless integration with AI applications that require structured and context-rich data.
To facilitate efficient workflow and data management, this MCP server offers a range of tools:
create_note
): Allows users to generate new notes by specifying the title and content. Once submitted, these notes are stored within the server’s state.fetch_url
): Enables downloading and processing of web content. The API accepts a URL as input and provides the option to convert fetched results into markdown using Puppeteer if desired. This feature is crucial for integrating external data sources directly into your workflow.duckduckgo_search
): Facilitates robust search capabilities through interactions with the DuckDuckGo search engine. Users can pass queries, which are then translated by the server and returned as structured JSON responses.For advanced usage scenarios, the summarize_notes
prompt generates detailed summaries of all stored notes. This prompt incorporates all note content as embedded resources to ensure comprehensive coverage, making it ideal for summarization or review processes within AI applications.
The Search-Fetch Server is designed according to the Model Context Protocol (MCP), which serves as a standardized framework for connecting AI applications with data sources and tools. By adhering to MCP, this server ensures compatibility across various platforms and maximizes interoperability.
The following Mermaid diagram illustrates the core protocol flow when using the Search-Fetch Server:
graph TD;
A[AI Application] -->|MCP Client| B[MCP Protocal]
B --> C[Search-Fetch Server]
C --> D[Data Source/Tool]
style A fill:#e1f5fe;
style C fill:#f3e5f5;
style D fill:#e8f5e8;
The underlying architecture of the Search-Fetch Server is designed to efficiently manage notes and associated data. The server maintains a state that stores all created, fetched, or summarized notes, ensuring real-time updates for any connected client.
To get started using this MCP server, follow these steps:
npm install
Run the build command to compile the necessary files:
npm run build
For an enhanced development experience with live-reloading capabilities:
npm run watch
In a knowledge base development project, the Search-Fetch Server can be used to create and summarize notes, enabling quick access to information across multiple sources. For instance:
create_note
tool, they store this data in easily managed format.summarize_notes
prompt generates a concise summary that captures key insights.For an application that requires dynamic prompting capabilities, incorporating the Search-Fetch Server provides several benefits:
duckduckgo_search
tool facilitates real-time searching for additional information.The Search-Fetch Server is compatible with several MCP clients, including:
| MCP Client | Resources | Tools | Prompts | Status |
|------------|-----------|-------|---------|---------|
| Claude Desktop | ✅ | ✅ | ✅ | Full Support |
| Continue | ✅ | ✅ | ✅ | Full Support |
| Cursor | ❌ | ✅ | ❌ | Tools Only |
Developers are encouraged to explore these integrations by configuring the server following instructions provided in the MCP documentation.
The Search-Fetch Server has been optimized for efficient data fetching and search operations. Its performance metrics include:
Here’s an example of how to set up the Search-Fetch Server in your MCP client configuration:
{
"mcpServers": {
"search-fetch-server": {
"command": "node",
"args": ["/path/to/search-fetch-server/build/index.js"]
}
}
}
Ensure your environment variables are correctly set to maintain the confidentiality and integrity of sensitive data:
{
"env": {
"API_KEY": "your-api-key"
}
}
For added security, it is highly recommended to manage these keys securely using environment management tools.
A1: Yes, the Search-Fetch Server supports several MCP clients including Claude Desktop and Continue. However, integration with Cursor requires additional setup due to its current feature limitations.
fetch_url
?A2: Use the fetch_url
tool by passing a URL parameter. The optional use_puppeteer
flag can convert fetched content into markdown format for better readability, especially from dynamic web pages.
A3: There are no hard-coded limits, but performance may degrade with extremely large numbers of notes or concurrent searches. Regular maintenance and optimization are recommended for optimal performance.
A4: Utilize the MCP Inspector
tool by running:
npm run inspector
This provides detailed debugging tools accessible via your web browser.
A5: Yes, the resource management is highly customizable. However, modifications require updates to both client and server configurations for seamless interaction.
Contributions are welcome! To contribute code or documentation, please follow these guidelines:
main
.For detailed development instructions, refer to the official MCP documentation and our contribution guidelines.
Explore more about the Model Context Protocol and its ecosystem at the official MCP GitHub Repository. This community-driven project aims to enhance interoperability between AI applications through standardized protocols like MCP.
Additionally, join our community forums or slack channels for networking with other developers and users.
RuinedFooocus is a local AI image generator and chatbot image server for seamless creative control
Learn to set up MCP Airflow Database server for efficient database interactions and querying airflow data
Build stunning one-page websites track engagement create QR codes monetize content easily with Acalytica
Simplify MySQL queries with Java-based MysqlMcpServer for easy standard input-output communication
Explore CoRT MCP server for advanced self-arguing AI with multi-LLM inference and enhanced evaluation methods
Access NASA APIs for space data, images, asteroids, weather, and exoplanets via MCP integration