feat: initial commit
This commit is contained in:
89
README.md
Normal file
89
README.md
Normal file
@ -0,0 +1,89 @@
|
||||
# Fetch MCP Server
|
||||
|
||||
This MCP server provides functionality to fetch web content in various formats, including HTML, JSON, plain text, and Markdown.
|
||||
|
||||
## Components
|
||||
|
||||
### Tools
|
||||
|
||||
- **fetch_html**
|
||||
- Fetch a website and return the content as HTML
|
||||
- Input:
|
||||
- `url` (string, required): URL of the website to fetch
|
||||
- `headers` (object, optional): Custom headers to include in the request
|
||||
- Returns the raw HTML content of the webpage
|
||||
|
||||
- **fetch_json**
|
||||
- Fetch a JSON file from a URL
|
||||
- Input:
|
||||
- `url` (string, required): URL of the JSON to fetch
|
||||
- `headers` (object, optional): Custom headers to include in the request
|
||||
- Returns the parsed JSON content
|
||||
|
||||
- **fetch_txt**
|
||||
- Fetch a website and return the content as plain text (no HTML)
|
||||
- Input:
|
||||
- `url` (string, required): URL of the website to fetch
|
||||
- `headers` (object, optional): Custom headers to include in the request
|
||||
- Returns the text content of the webpage with HTML tags, scripts, and styles removed
|
||||
|
||||
- **fetch_markdown**
|
||||
- Fetch a website and return the content as Markdown
|
||||
- Input:
|
||||
- `url` (string, required): URL of the website to fetch
|
||||
- `headers` (object, optional): Custom headers to include in the request
|
||||
- Returns the content of the webpage converted to Markdown format
|
||||
|
||||
### Resources
|
||||
|
||||
This server does not provide any persistent resources. It's designed to fetch and transform web content on demand.
|
||||
|
||||
## Getting started
|
||||
|
||||
1. Clone the repository
|
||||
2. Install dependencies: `npm install`
|
||||
3. Build the server: `npm run build`
|
||||
|
||||
### Usage
|
||||
|
||||
To use the server, you can run it directly:
|
||||
|
||||
```bash
|
||||
npm start
|
||||
```
|
||||
|
||||
This will start the Fetch MCP Server running on stdio.
|
||||
|
||||
### Usage with Desktop App
|
||||
|
||||
To integrate this server with a desktop app, add the following to your app's server configuration:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"fetch": {
|
||||
"command": "node",
|
||||
"args": [
|
||||
"{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
- Fetches web content using modern fetch API
|
||||
- Supports custom headers for requests
|
||||
- Provides content in multiple formats: HTML, JSON, plain text, and Markdown
|
||||
- Uses JSDOM for HTML parsing and text extraction
|
||||
- Uses TurndownService for HTML to Markdown conversion
|
||||
|
||||
## Development
|
||||
|
||||
- Run `npm run dev` to start the TypeScript compiler in watch mode
|
||||
- Use `npm test` to run the test suite
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License.
|
Reference in New Issue
Block a user