
Security News
vlt 1.5.0 Adds Agent Skills Management
vlt 1.5.0 links skills from JavaScript dependencies to coding agents, with lockfile versioning and Socket data to filter out known malicious packages.
@mmj-map/palette
Advanced tools
MCP server that derives a full map palette from four anchor colours and builds a ready MapLibre style. Self-hosted maps, no API key.
導入者が自分の配色を完全に作るための道具。指し値(4〜5 色)から、 24 役割の配色、またはそのまま配れるスタイル JSON を作ります。
ここが吐いたものを
styles/へ置かないこと。 MMJ が配る 6 枚は手書きの作品のままです(D-002)。 この道具は導入者のためのものとして切り出してあります(D-021)。 出力にはmmj:generated: trueが入り、手書きと見分けが付きます。
# 24 役割の配色(<mmj-map palette-url> にそのまま渡せる)
pnpm palette -- --land=#f7f9fb --water=#bfd7e8 --ink=#16202b --accent=#0a5fff
# そのまま配れるスタイル
pnpm palette -- --land=#f7f9fb --water=#bfd7e8 --ink=#16202b --accent=#0a5fff \
--style --base=modern-light --name="Acme Maps" --out=acme.json
# 出したあとに確かめる
pnpm style:check -- acme.json
| 引数 | 意味 |
|---|---|
--land | 陸・背景の色(必須) |
--water | 水域の色(必須)。陸の系列から独立させる |
--ink | 文字の色(必須)。ラベルの一番濃い側 |
--accent | テーマカラー(必須)。高速道路と駅の縁に乗る |
--green | 公園・森。省くと陸から導く |
--set=役割=色 | 役割を手で上書きする。最後に勝つ。何度でも書ける |
--style | 配色ではなくスタイルごと作る |
--base | 土台のスタイル名。既定 modern-light(--style のとき) |
--name | 作るスタイルの名前。既定 Custom |
--out | 書き出し先。無ければ標準出力 |
指し値はそのまま出ます(作り変えません)。
| 役割 | どうなるか |
|---|---|
background earth station-fill halo | --land そのもの |
water | --water そのもの |
label-city | --ink そのもの |
highway station | --accent そのもの |
landcover built paved buildings path road-* rail boundary label-station label-neighbourhood | 地色から文字色へ向かって濃くなる。細いものほど地色に近い |
waterway label-water | 水から文字色へ向かって濃くなる |
highway-casing | accent を文字色側へ寄せた色 |
green | --green、無ければ陸から導く |
混ぜるのは Oklab(sRGB のまま混ぜると階調が詰まり、色がくすむ)。依存は足していません(式だけ)。
明るい土台で道路を白抜きにしたい(地色より明るくする)ことがありますが、 ここでは地色から文字色へ向かって濃くしています。白抜きにしたいときは上書きしてください。
pnpm palette -- ... --set=road-minor=#ffffff --set=road-medium=#ffffff --set=road-major=#ffffff
エージェントから直接作れます。
pnpm palette:mcp
Claude Code への登録(.mcp.json / claude mcp add):
{
"mcpServers": {
"mmj-palette": {
"command": "pnpm",
"args": ["palette:mcp"],
"cwd": "<このリポジトリのパス>"
}
}
}
| 道具 | 何をするか |
|---|---|
mmj_list_roles | 24 役割と、それぞれが地図の何を変えるかを返す |
mmj_list_bases | 土台にできるスタイル名を返す |
mmj_derive_palette | 指し値から 24 役割の配色を作る |
mmj_build_style | 指し値からスタイル JSON を作る |
SDK は入れていません。MCP の stdio は JSON-RPC 2.0 を改行区切りで流すだけで、
ここで要るのは initialize / tools/list / tools/call の 3 つです。
公式 SDK(@modelcontextprotocol/sdk 1.30.0・MIT)は express / hono / cors / jose /
express-rate-limit まで引いてきて 99 パッケージ増えます(実測・2026-09-21)。
HTTP と SSE の輸送のためのもので、stdio 1 本には釣り合いません(baseline §1 / §12)。
代わりに、本物のプロセスを起動して本物の JSON-RPC を流すテストがあります
(test/mcp.test.ts)。仕様が動いたらそこが落ちます。
<!-- 配色だけ渡す -->
<mmj-map tiles="..." style-url="/styles/modern-light.json" palette-url="./acme-palette.json"></mmj-map>
<!-- スタイルごと持つ -->
<mmj-map tiles="..." style-url="./acme.json"></mmj-map>
スタイルごと作った場合、metadata["mmj:anchors"].accent を部品が読むので、
accent 属性を書かなくても目印・まとまり・自前 POI の色が揃います。
__TILES_URL__ は残ります。焼き込むと配信先を変えられなくなるため© OpenStreetMap contributors の帰属表示は残ります。消して配らないでください(ODbL)mmj:generated: true が入ります。外さないでください(手書きの作品と混ざります)FAQs
MCP server that derives a full map palette from four anchor colours and builds a ready MapLibre style. Self-hosted maps, no API key.
The npm package @mmj-map/palette receives a total of 34 weekly downloads. As such, @mmj-map/palette popularity was classified as not popular.
We found that @mmj-map/palette demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
vlt 1.5.0 links skills from JavaScript dependencies to coding agents, with lockfile versioning and Socket data to filter out known malicious packages.

Security News
Rust 1.100 will add opt-in dependency cooldowns to Cargo, giving security scanners and maintainers time to catch malicious crate releases.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.