<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mml-composemusic-mcp.git/pyproject.toml, branch v0.3.0</title>
<subtitle>レトロチップ音源（2A03 APU）風のMMLをLLMに作曲させるためのMCPサーバです 
</subtitle>
<id>https://git.takashi-2521.com/mml-composemusic-mcp.git/atom?h=v0.3.0</id>
<link rel='self' href='https://git.takashi-2521.com/mml-composemusic-mcp.git/atom?h=v0.3.0'/>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/mml-composemusic-mcp.git/'/>
<updated>2026-09-13T05:24:31+00:00</updated>
<entry>
<title>chore(release): prepare version 0.3.0</title>
<updated>2026-09-13T05:24:31+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-09-13T05:24:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/mml-composemusic-mcp.git/commit/?id=0a730584eede23ecd3cced3287806f23fd5b32f9'/>
<id>urn:sha1:0a730584eede23ecd3cced3287806f23fd5b32f9</id>
<content type='text'>
Bump the project and package versions to 0.3.0 and expose the same version through FastMCP server metadata. Add a regression test that keeps pyproject, package, and MCP server versions aligned.

Add a 0.3.0 changelog covering the AudioContent migration, wav_path removal, isError semantics, security hardening, and other breaking changes. Update README links so project documentation and samples remain accessible from the rendered PyPI description.

Declare MIT and project URLs in package metadata, and restrict source distributions to release documentation, source code, and tests so generated audio, caches, local plans, and unrelated working files cannot leak into published artifacts.

Release verification completed with Ruff, 488 passing tests, uv lock validation, wheel CLI smoke testing, sdist content auditing, and twine checks for both wheel and sdist.
</content>
</entry>
<entry>
<title>feat: return composed WAV as MCP audio content</title>
<updated>2026-09-13T05:13:04+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-09-13T05:12:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/mml-composemusic-mcp.git/commit/?id=97b34627667fd699f4e0e054533eb89a205a2878'/>
<id>urn:sha1:97b34627667fd699f4e0e054533eb89a205a2878</id>
<content type='text'>
Replace the server-local wav_path result with a protocol-native multimedia response.

- Split internal composition execution from MCP ToolResult serialization so filesystem paths never enter public payloads.

- Return every successfully composed WAV as AudioContent with the audio/wav MIME type, regardless of file size.

- Keep structured audio metadata, duration, note sequence, and validation details alongside the multimedia content.

- Use CallToolResult.isError as the authoritative MCP execution status while retaining compose success and validate valid as domain fields.

- Treat invalid compose/API requests and runtime failures as tool errors, while invalid MML discovered by validate remains a successful validation operation.

- Sanitize synthesis, file-write, audio-serialization, and unexpected failure responses so internal paths and exception details are not exposed.

- Add protocol-level coverage for base64 round trips, content block types, error semantics, ResourceLink absence, and path non-disclosure.

- Update existing tests for the separated execution layer and path-free result contract.

- Document AudioContent and isError behavior in the README, MCP schema, and design specification.

- Require the tested FastMCP 3.4.4 API line and exclude the incompatible 4.x major version.

Verification: 487 tests passed; ruff check passed; git diff --check passed; uv lock --check passed; and a manual MCP call returned TextContent plus AudioContent with no wav_path.
</content>
</entry>
<entry>
<title>バージョン更新</title>
<updated>2026-07-15T12:29:45+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-15T12:29:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/mml-composemusic-mcp.git/commit/?id=3b5bd2f8fd15bcc13542ff5ffd3c35453af9a9df'/>
<id>urn:sha1:3b5bd2f8fd15bcc13542ff5ffd3c35453af9a9df</id>
<content type='text'>
</content>
</entry>
<entry>
<title>waveファイルの出力先変更</title>
<updated>2026-07-12T13:28:14+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-12T13:28:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/mml-composemusic-mcp.git/commit/?id=764a892b43ba55e3d96b0d8986c64cd6b5d42236'/>
<id>urn:sha1:764a892b43ba55e3d96b0d8986c64cd6b5d42236</id>
<content type='text'>
mmlファイルをwaveファイルと一緒に出力するように変更
サンプルデータ追加
</content>
</entry>
<entry>
<title>feat: 合成機能テンプレートの拡充とドキュメントの更新</title>
<updated>2026-07-12T09:50:50+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-12T09:50:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/mml-composemusic-mcp.git/commit/?id=d83a966199671a1cab6b8f56be448662e79f4a46'/>
<id>urn:sha1:d83a966199671a1cab6b8f56be448662e79f4a46</id>
<content type='text'>
- ppmck/pyxel向けに表現力のある作曲テンプレートを追加
- エンベロープ、ビブラート、音程変化の使用例を追加
- テンプレートの検証・IR・音声合成テストを追加
- README、設計書、MCP仕様書を現行実装に合わせて更新
</content>
</entry>
<entry>
<title>pyproject.toml version update</title>
<updated>2026-07-12T07:21:56+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-12T07:21:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/mml-composemusic-mcp.git/commit/?id=f1cd4d7d16f6e75a50bb0c587c0f759f7cf710cd'/>
<id>urn:sha1:f1cd4d7d16f6e75a50bb0c587c0f759f7cf710cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MML構文解析処理一部修正。ドキュメント最新化</title>
<updated>2026-07-12T07:20:37+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-12T07:20:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/mml-composemusic-mcp.git/commit/?id=8a1fcf81dbab9e2eff3c4d558c6910bc8208e49e'/>
<id>urn:sha1:8a1fcf81dbab9e2eff3c4d558c6910bc8208e49e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ドキュメントとコメント一部更新</title>
<updated>2026-07-11T13:17:57+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-11T13:17:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/mml-composemusic-mcp.git/commit/?id=b7f717df8ddc046139811fd8e8ee2399924ee71e'/>
<id>urn:sha1:b7f717df8ddc046139811fd8e8ee2399924ee71e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: implement Famicom-style MML composer MCP server</title>
<updated>2026-07-11T10:02:14+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-11T10:02:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/mml-composemusic-mcp.git/commit/?id=ca35520338057512a71acd42bb116ffbb82cc192'/>
<id>urn:sha1:ca35520338057512a71acd42bb116ffbb82cc192</id>
<content type='text'>
- Add FastMCP server with compose_mml tool

- Support ppmck and pyxel MML syntax

- Add lexer and parsers for both formats

- Add NES APU-style synthesizer (pulse/triangle/noise) to WAV

- Add MML templates (basic/melody/chord/drum/empty) for both modes

- Add tests for lexer, parser, and server

- Support stdio, http, sse, streamable-http transports

- Update README, pyproject.toml, and .gitignore
</content>
</entry>
<entry>
<title>First Commit.</title>
<updated>2026-07-11T08:14:47+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-11T08:14:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/mml-composemusic-mcp.git/commit/?id=7dca1616b8c891f5e140c7267323d1fcdde6741a'/>
<id>urn:sha1:7dca1616b8c891f5e140c7267323d1fcdde6741a</id>
<content type='text'>
</content>
</entry>
</feed>
