mcp-server-chart
Provides tools for generating charts using AntV specifications, such as line charts, by posting AntV specs to a visualization request server.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-chartCreate a bar chart of monthly revenue"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-server-chart (monorepo)
A monorepo hosting several Model Context Protocol (MCP) servers:
App | Language | Package manager | Path |
ts-server | TypeScript / Node | npm workspaces | |
py-server | Python | Poetry | |
aws-mcp-server | Python | Poetry |
apps/ts-server is the original AntV @antv/mcp-server-chart.
apps/py-server is a Python/FastMCP
chart sibling, managed with Poetry.
apps/aws-mcp-server is an AWS ECS MCP server scaffold (FastMCP + boto3).
Layout
.
├── apps/
│ ├── ts-server/ # TypeScript MCP server (npm workspace)
│ ├── py-server/ # Python chart MCP server (Poetry)
│ └── aws-mcp-server/ # AWS ECS MCP server (Poetry, FastMCP + boto3)
├── package.json # workspace root + cross-app scripts
├── .husky/ # git hooks (run at repo root)
└── .github/workflows/ # CI: ts-server + py-server + aws-server jobsRelated MCP server: @tscafejr/mcp
Prerequisites
Node.js
>=18(forapps/ts-server)Python
>=3.10and Poetry (forapps/py-server)
Setup
# TypeScript workspace (installs apps/ts-server deps + git hooks)
npm install
# Python app
npm run py:install # -> poetry -C apps/py-server installCommon tasks
Run from the repo root:
Command | Runs |
| Build the TypeScript server |
| Test the TypeScript server (Vitest) |
| Launch ts-server via the MCP Inspector |
|
|
| Run the Python server ( |
|
|
|
|
|
|
| Run the ECS server ( |
|
|
|
|
Each app can also be used directly from its own directory — see the per-app READMEs linked above.
Connecting ts-server to aws-mcp-server
ts-server can discover a running aws-mcp-server over the network (opt-in):
# 1. Start the ECS server on a port (Streamable HTTP at /mcp)
npm run aws:start:http # -> http://127.0.0.1:8123/mcp
# 2. Point ts-server at it; on startup it connects, lists the ECS tools, and logs them
npm run ts:build
AWS_MCP_SERVER_URL=http://127.0.0.1:8123/mcp node apps/ts-server/build/index.js -t streamable
# -> "Connected to aws-mcp-server at http://127.0.0.1:8123/mcp; tools: containerize_app, build_and_push_image_to_ecr"Configure the target with AWS_MCP_SERVER_URL, or just AWS_MCP_SERVER_PORT
(host defaults to 127.0.0.1, path /mcp). If unset, ts-server skips the
connection entirely; if the AWS server is down, ts-server logs a warning and
keeps serving charts.
License
MIT
The monorepo conversion is complete and verified. Here's the summary.
What changed
Layout (apps/ split, as chosen): mcp-server-chart/ ├── apps/ │ ├── ts-server/ ← existing AntV TypeScript server (moved here, git history preserved) │ └── py-server/ ← new Python MCP server (Poetry + FastMCP) ├── package.json ← npm-workspace root + cross-app scripts ├── README.md ← new monorepo README (old one → apps/ts-server/README.md) ├── .husky/ ← git hooks stay at repo root ├── .gitignore ← added Python ignores └── .github/workflows/ ← build.yml now has ts-server + py-server jobs; release.yml paths fixed
ts-server: all TS files git mv'd in (97 renames, history intact). Removed the workspace-level husky/lint-staged (now at root); prepare → prepack so publishing still builds.
py-server (Poetry, PEP 621 pyproject, poetry check passes):
chart_py/server.py — FastMCP server with an example generate_line_chart tool that posts an AntV spec to VIS_REQUEST_SERVER; extend via register_tools.
tests/ (pytest), console entry point chart-py, ruff configured.
Root scripts (run from repo root): npm run ts:build / ts:test / start, and py:install / py:start / py:test / py:lint (delegating to poetry -C apps/py-server)
AWS MCP
Dependencies added (the ones main.py needs): fastmcp (its from fastmcp import FastMCP) and boto3 (ECS/AWS work), plus dev: pytest, pytest-asyncio, ruff, boto3-stubs.
Entry point — main() (already had the if name == "main" guard) wired as a console script: [project.scripts] aws-mcp-server = "awslabs.aws_mcp_server.main:main"
Stubs made it runnable, not just importable: register_module/register_proxy/get_config/secure_tool are safe no-ops/pass-throughs (they run at import time when main.py builds the server), while the actual tool functions (create_infrastructure, build_and_push_image_to_ecr, delete_infrastructure, delete_app) raise NotImplementedError when called — that's your TODO surface.
Monorepo wiring: root npm run aws:install | aws:start | aws:test | aws:lint, a aws-server CI job in build.yml, a lint-staged glob, and README table/layout entries.
check the Start the server, then query it with the Inspector's CLI — this is the exact command I just ran successfully: npm run aws:start:http # in one terminal
in another:
npx @modelcontextprotocol/inspector --cli http://127.0.0.1:8123/mcp --transport http --method tools/list
call a tool:
npx @modelcontextprotocol/inspector --cli http://127.0.0.1:8123/mcp --transport http
--method tools/call --tool-name containerize_app --tool-arg app_path=/path/to/app port=8080
1.run npm install to run nodemodules in the root 2.compile frontend and run a.npm run ts:build b.npm run ts:start or node apps/ts-server/build/index.js -t streamable -p 1122 3.start the backend a.npm run aws:start:http
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kesavP/toolmaninspector'
If you have feedback or need assistance with the MCP directory API, please join our Discord server