simmy_mcp_langgraph_agent

simmy_mcp_langgraph_agent

MCP server offering web scraping, news headlines, weather, and daily quote tools, integrated with a LangGraph agent and Chainlit chat UI.

Category
Visit Server

README

에이전트 — Chainlit 버전

UI 코드(HTML/CSS/JS)를 직접 짜지 않고 채팅 앱을 완성한 버전입니다. Chainlit이 채팅 화면·스트리밍·세션·마크다운 렌더링·도구 호출 과정 표시를 전부 제공합니다.

무엇이 바뀌었나

  • 추가: app_chainlit.py — 기존 chat_agent.py(FastAPI + 프론트) 대체 진입점.
  • 유지: chat_agent.py, templates/, static/ 는 그대로 둠 (언제든 롤백 가능).
  • 개선: mcp_server.py — 아래 백엔드 보강 적용.

mcp_server.py 개선점

  • 모든 httpx 호출에 타임아웃(10초) 적용 — 외부 API 지연 시 무한 대기 방지.
  • scrape_page_textSSRF 가드 — 공개 http/https URL만 허용, 사설/루프백/링크로컬(예: 169.254.169.254) 차단. 결과 길이도 8000자로 제한.
  • get_news_headlines(limit=5) — 전체(수십 건) 대신 상위 N건만 반환해 토큰 절약.
  • get_weather — 응답 전체가 아니라 current_weather만 추출해 토큰 절약.
  • daily_quoteChatOpenAI모듈 1회 생성으로 변경(호출마다 생성 X).

실행 방법

# 0) 의존성
pip install -r requirements.txt

# 1) OpenAI 키
export OPENAI_API_KEY=sk-...

# 2) MCP 서버 (터미널 A) — 포트 8000
python mcp_server.py

# 3) Chainlit 앱 (터미널 B) — 포트 8000이 겹치므로 다른 포트로
chainlit run app_chainlit.py -w -p 8001
# 브라우저: http://localhost:8001

포트 메모: MCP 서버가 8000을 쓰므로 Chainlit은 -p 8001 등으로 분리. MCP 주소를 바꾸려면 export MCP_URL=http://localhost:8000/mcp, 모델은 export AGENT_MODEL=....

참고

  • 대화 메모리는 InMemorySaver

샘플 사진

<img width="1192" height="707" alt="스크린샷 2026-06-29 오후 7 23 26" src="https://github.com/user-attachments/assets/5861c7f9-f03d-4891-838f-ba06bb7c7efe" />

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured