{"id":30699655,"url":"https://github.com/avoss84/mcp-langgraph","last_synced_at":"2025-09-02T11:11:55.280Z","repository":{"id":310641463,"uuid":"1040647744","full_name":"AVoss84/mcp-langgraph","owner":"AVoss84","description":"Simple example how to combine LangGraph with MCP","archived":false,"fork":false,"pushed_at":"2025-08-19T10:00:20.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-19T11:45:02.680Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AVoss84.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-19T09:47:58.000Z","updated_at":"2025-08-19T10:00:24.000Z","dependencies_parsed_at":"2025-08-19T11:45:08.870Z","dependency_job_id":"ca621598-21b4-46cd-989c-58ea36a4aad2","html_url":"https://github.com/AVoss84/mcp-langgraph","commit_stats":null,"previous_names":["avoss84/mcp-langgraph"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/AVoss84/mcp-langgraph","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AVoss84%2Fmcp-langgraph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AVoss84%2Fmcp-langgraph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AVoss84%2Fmcp-langgraph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AVoss84%2Fmcp-langgraph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AVoss84","download_url":"https://codeload.github.com/AVoss84/mcp-langgraph/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AVoss84%2Fmcp-langgraph/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273273156,"owners_count":25076112,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-02T11:11:52.248Z","updated_at":"2025-09-02T11:11:55.268Z","avatar_url":"https://github.com/AVoss84.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Model Context Protocol Playground\n\nThis project provides a basic code example how to use *LangGraph* as agentic orchestrator with a mix of 'local' tools and tools provided via simple (Fast-) MCP server. The example use case here is answering basic arithmetic user questions. The MCP client can be either called directly or via a Streamlit UI. \n\n�🚀 **What you'll find here:**\n- **MCP Server** FastMCP with custom tools (multiply, add)\n- **MCP Client** FastAPI with LangGraph agent orchestration  \n- **Local Tools** (divide, power) alongside MCP tools\n- **Streamlit Chat UI** to interact with your AI agent\n- **Docker deployment** for easy containerized setup\n- **Real-time tool usage** visibility and debugging\n\n## Package structure\n\n```\n├── CHANGELOG.md\n├── data\n├── docker-compose.yml\n├── Dockerfile.client\n├── Dockerfile.server\n├── Dockerfile.ui\n├── Makefile\n├── pyproject.toml\n├── README.md\n├── src\n│   ├── mcp_sandbox\n│   │   ├── config\n│   │   ├── resources\n│   │   ├── services\n│   │   └── utils\n│   └── notebooks\n├── chat_ui.py\n├── app_mcp_client.py\n├── tests\n```\n\n## Install project\n\nOptional: get [*uv*](https://github.com/astral-sh/uv) package manager\n```bash\npython -m pip install uv           \n```\n\nInstall package dependencies for local development:\n```bash\nuv venv --python 3.13\nsource .venv/bin/activate \nuv sync --group dev\n```\n\nGet started locally:\n```bash\nmake all-services                      # UI + MCP Client + MCP Server\nmake local-mcp-client                  # MCP Client\nmake local-mcp-server                  # MCP Server only\n```\n\nRun containerized stack:\n```bash\nmake up-full                           # UI + MCP Client + MCP Server\n```\n\n## API Usage\n\nOnce the MCP client is running (locally on port 8080 or containerized on port 8081), you can interact with it directly using curl:\n\n### Local development (port 8080):\n```bash\n# Simple calculation using MCP tools\ncurl -X POST http://localhost:8080/calculate \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"query\": \"What is 15 multiplied by 7?\"}'\n\n# Complex calculation using both MCP and local tools\ncurl -X POST http://localhost:8080/calculate \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"query\": \"Calculate 100 divided by 4, then multiply by 3\"}'\n\n# Power calculation using local tools\ncurl -X POST http://localhost:8080/calculate \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"query\": \"What is 2 to the power of 10?\"}'\n```\n\n### Containerized deployment (port 8081):\n```bash\ncurl -X POST http://localhost:8081/calculate \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"query\": \"Add 25 and 17, then multiply by 2\"}'\n```\n\nThe API will return a JSON response with the AI agent's answer:\n```json\n{\n  \"answer\": \"15 multiplied by 7 equals 105.\"\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favoss84%2Fmcp-langgraph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favoss84%2Fmcp-langgraph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favoss84%2Fmcp-langgraph/lists"}