TypeScript SDK for integrating AI Agents with the SumUp API.
This is a Model Context Protocol (MCP) server that provides image generation and web scraping capabilities for Windsurf.
Clone and set up the project:
git clone https://github.com/bananabit-dev/mcp.git
cd mcp
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
Set up environment variables:
cp .env.example .env
Then edit .env to add your API keys:
AIMLAPI_KEY=your_flux_pro_api_key
SGAI_API_KEY=your_scrapegraph_api_key
~/.codeium/windsurf/mcp_config.json:{
"mcpServers": {
"bananabit-mcp": {
"command": "/absolute/path/to/your/.venv/bin/python",
"args": ["-m", "app.mcp_server"],
"cwd": "/absolute/path/to/mcp",
"env": {
"PYTHONPATH": "/absolute/path/to/mcp",
"AIMLAPI_KEY": "${env:AIMLAPI_KEY}",
"SGAI_API_KEY": "${env:SGAI_API_KEY}"
}
}
}
}
Let’s create a cozy kawaii living room! Here’s an example dialogue with Windsurf:
User: Generate a image of a cozy warm living room in kawaii and anime style.
Assistant: I'll help you generate a cozy warm living room image in kawaii and anime style!
[Generated image saved as cozy_kawaii_living_room.png]

User: Try again with an even more cozy and kawaii living room.
Assistant: I'll enhance the kawaii and cozy elements even more in this new version!
[Generated image saved as super_cozy_kawaii_living_room.png]

The MCP server will generate unique images each time, but they will follow the style and elements specified in the prompts. Try creating your own cozy spaces or other creative images!
The MCP server provides powerful web scraping capabilities through the ScrapeGraph API. Here are the main features:
Content Extraction
# Extract main content from a webpage
result = await extract_webpage_content(
url="https://example.com"
)
Markdown Conversion
# Convert webpage to clean markdown
result = await markdownify_webpage(
url="https://example.com",
clean_level="medium" # Options: light, medium, aggressive
)
Smart Scraping
# Extract specific information using AI
result = await scrape_webpage(
url="https://example.com"
)
Documentation Generation
# Create local documentation from online sources
content = await markdownify_webpage(
url="https://docs.example.com/guide",
clean_level="medium"
)
with open(".docs/guide.md", "w") as f:
f.write(content)
Content Analysis
# Extract and analyze webpage sentiment
content = await extract_webpage_content(
url="https://example.com/article"
)
sentiment = await analyze_text_sentiment(
text=content["text"]
)
Data Collection
# Extract structured data
data = await scrape_webpage(
url="https://example.com/products"
)
# Process extracted data
for item in data["structured_data"]:
process_item(item)
Rate Limiting
Error Handling
try:
content = await extract_webpage_content(url)
except Exception as e:
# Fall back to simpler extraction
content = await markdownify_webpage(url)
Content Cleaning
Output Processing
MIT
A Python-based MCP (Model Context Protocol) server that predicts the origin
An MCP (Model Context Protocol) tool that provides real-time weather data, forecasts, and historical weather information using the OpenWeatherMap API, specifically designed for Claude Desktop.
Enhanced FileSystem MCP server