
Yowes uhlelo lwePython oluphathekayo olwakha imibhalo ehlobene nothisha ibe amafayela e-PNG anokulungiswa okuphezulu. Iseva yayo ye-Model Context Protocol (MCP) esebenza ngaphandle kwesixhumi esibonakalayo iveza ukwakhiwa kwemibhalo nge-stdio, okwenza isetshenziswe ezindaweni ezisebenzisa ama-agent ezifana ne-Claude Desktop, i-Hermes, namanye amaklayenti e-MCP.
Le phrojekthi isekela amazwe angu-13, izinhlobo zemibhalo ezihambisana nezwe ngalinye, amafonti nezithombe zamaphrofayela ezihlanganisiwe, kanye nedatha yezikole equkethe amakheli nemininingwane yokuxhumana. Lesi sifundo sichaza ukufakwa, ukusethwa kweseva, ukusetshenziswa kwamathuluzi e-MCP, ukuhlanganiswa nePython, kanye nezinketho zokwandisa uhlelo.
Okwenziwa yi-Yowes
I-Yowes yakha imibhalo yothisha ehambisana nolimi nesifunda kusuka kuphrofayela kathisha nesikole esikhethiwe. Kuye ngezwe, imiphumela etholakalayo ingafaka izincwadi zokuqashwa, omazisi bothisha, amalayisensi okufundisa, iziliphu zemiholo, omazisi bezikole, izinkontileka, izitifiketi, nezinye izinhlobo zemibhalo.
Amafayela akhiqiziwe agcinwa njengezithombe ze-PNG. Uhlelo luhlanganisa amafonti e-DejaVu Sans nezithombe zamaphrofayela ephaketheni, ngakho aluncikile kumafonti esistimu noma ezimpahleni zezithombe zangaphandle ngesikhathi lusebenza.
Amazwe asekelwayo
Amakhodi amazwe nezinhlobo zemibhalo ezitholakalayo zifaka:
- United Kingdom: izincwadi zokuqashwa, omazisi bothisha, namalayisensi okufundisa.
- United States: izincwadi zokuqashwa, omazisi bothisha, namalayisensi okufundisa.
- France: izitatimende zokufakwa esikhundleni, izithombe-skrini ze-iProf, izingcaphuno zemithetho yangaphakathi, nezitifiketi zokufundisa.
- Netherlands: izinkontileka zokuqashwa, ukubhaliswa kothisha, izimemezelo ze-DUO, noMazisi bezikole.
- Indonesia: iziliphu zemiholo, izincwadi zesipiliyoni sokufundisa, amakhadi e-NUPTK, nezincwadi zokuqokwa.
- Australia: izincwadi zesikole ezisayiniwe, omazisi bezikole, namalayisensi okufundisa.
- Canada: amakhadi e-OCT, amalayisensi okufundisa, nezincwadi zesikole ezisayiniwe.
- Spain: omazisi bokufundisa, izincwadi zesikole ezisayiniwe, nezinkontileka zokuqashwa.
- Argentina: iziliphu zemiholo, izitifiketi zokuqashwa, nezincwadi zesikole ezisayiniwe.
- Slovakia: iziliphu zemiholo, izincwadi zokuqashwa, nezincwadi zesikole ezisayiniwe.
- Mexico: omazisi bokufundisa, izincwadi zesikole ezisayiniwe, nezitifiketi zokuqashwa.
- Philippines: omazisi bokufundisa, izitifiketi zokuqashwa, namalayisensi okufundisa.
- Thailand: iziliphu zemiholo nezincwadi zokuqashwa.
Sebenzisa le mibhalo kuphela ekuhloleni okusemthethweni, emibonisweni, noma ezinqubweni zokuphatha ezigunyaziwe. Imibhalo ekhiqiziwe akufanele yethulwe njengobufakazi obusemthethweni ngaphandle kokuthi ikhishwe futhi yaqinisekiswa yisikhungo esifanele.
Izidingo
I-Yowes idinga Python 3.10 noma entsha. Okuncike kuyo okuyinhloko, i-Pillow ne-mcp, kufakwa ngokuzenzakalelayo lapho ufaka iphakheji.
Le phrojekthi isekela i-Windows, i-Linux, ne-macOS. Ngenxa yokuthi amafonti nezithombe zihlanganisiwe, uhlelo olupakishiwe lwenzelwe ukuphatheka.
Faka i-Yowes
Faka usebenzisa i-wheel
Uma une-wheel eyakhiwe kumkhombandlela we-dist, yifake ngo:

pip install dist/yowes_doc_generator-0.1.0-py3-none-any.whlFaka usuka kukhodi yomthombo
Ukuze uthuthukise noma uhlole endaweni, faka iphrojekthi ngemodi ehlelekayo:
pip install -e .Qalisa nge-uv
Ungaqalisa futhi iphrojekthi nge-uv:
uvx --from . yowes-mcpQinisekisa izimpahla ezihlanganisiwe
Ngemva kokufaka, hlola ukuthi izisizi zefonti ehlanganisiwe nezithombe zamaphrofayela zisebenza kahle:
python -c "from countries.utils import load_font, get_profile_photo; print(load_font(30).getname()); print(get_profile_photo((280,340), person_id='x', gender='Male') is not None)"Ukuqalisa ngempumelelo kubonisa ifonti ye-DejaVu Sans bese kubuyisa True kwesithombe sephrofayela esihlanganisiwe.
Xhuma iseva ye-MCP
I-Yowes ixhumana nge-MCP isebenzisa i-stdio. Qalisa umyalo ofakiwe ngo:
yowes-mcpNgenye indlela, uma usebenza ngqo esihlahleni somthombo, sebenzisa:

python mcp_server.pyInqubo ilinda izicelo ze-MCP kokokufaka okujwayelekile bese ibhala izimpendulo kokukhipha okujwayelekile. Ayiklanyelwe ukusebenza njengohlelo lwetheminali olusebenzisana nomsebenzisi.
Bhalisa i-Yowes kuklayenti le-MCP
Khomba indawo ye-agent ehambisana ne-MCP esebenzisekeni:
{
"mcpServers": {
"yowes": {
"command": "yowes-mcp",
"args": []
}
}
}Uma umyalo ungatholakali ku-PATH yakho, sebenzisa indlela ephelele eya ku-Python bese ubiza imojuli yeseva:
{
"mcpServers": {
"yowes": {
"command": "/path/to/python",
"args": ["-m", "mcp_server"]
}
}
}Hlola amathuluzi e-MCP atholakalayo
Iseva inikeza amathuluzi amathathu ayinhloko:
list_countries_toolibala amakhodi amazwe, amagama aboniswayo, nezinhlobo zemibhalo.list_schools(country)ibala izikole zezwe elikhethiwe.generate_documents(...)ikhiqiza idokhumenti eyodwa noma eziningi bese ibuyisa izindlela zamafayela azo.
Bala amazwe
Shayela i-list_countries_tool ngaphandle kwezimpikiswano. Impendulo iqukethe into eyodwa yomphumela ezweni ngalinye, enamanani afana ne-code, name, ne-document_types. Njengoba uhlu luhlukaniswe lwaba yizinto eziningi zokuqukethwe ze-MCP, phindaphinda eqoqweni le-content elibuyisiwe ukuze uhlole wonke amazwe.
Bala izikole
Dlulisela ikhodi yezwe ku-list_schools:
{
"country": "us"
}
Umphumela ngamunye wesikole ungafaka igama laso, ikheli, idolobha, ikhodi yeposi, isifundazwe, inombolo yocingo, kanye nemininingwane yesiphathimandla semfundo sendawo. Sebenzisa igama lesikole eliphelele noma eliyingxenye elibuyiswe yileli thuluzi lapho udala amadokhumenti.
Dala Amadokhumenti
Ithuluzi elithi generate_documents lidinga izwe, igama likathisha, isikole, isikhundla, kanye nosuku lokuzalwa. Ngokuzikhethela ungakhetha ubulili, izinhlobo zamadokhumenti, kanye nohlu lokuphumayo.
Isicelo sesibonelo
{
"country": "us",
"first_name": "John",
"last_name": "Smith",
"school_name": "Valley High",
"position": "Head of Science Department",
"date_of_birth": "12/05/1988",
"gender": "Male",
"document_types": ["employment_letter", "teacher_id"],
"output_dir": "output"
}Inani le-gender lingaba ngu-Random, Male, noma Female. Lilawula ukukhethwa echibini lezithombe zephrofayela elihlanganisiwe. Uma document_types ingafakwanga, i-Yowes ikhiqiza zonke izinhlobo zamadokhumenti ezitholakalayo zezwe elikhethiwe. Uhla lokuphumayo oluzenzakalelayo ngu-output/.
Impendulo ephumelele ifaka izwe nesikole okukhethiwe, izinhlobo zamadokhumenti, izindlela zamafayela akhiqiziwe, isibalo, kanye nohlu lokuphumayo. Izindlela ze-PNG ezibuyiswayo ziyizindlela eziphelele.
Isibonelo, amadokhumenti ase-US akhiqiziwe angafana nemiphumela eyisibonelo elandelayo:


Sebenzisa i-Yowes usebenzisa i-Python
Izinhlelo zingaqalisa iseva ye-MCP futhi zibize amathuluzi ayo ngeklayenti le-Python MCP. Faka okuncikile kweklayenti uma kudingeka:
pip install mcpIsibonelo esilandelayo siqalisa iseshini ye-stdio, sibala amazwe, futhi sakha amadokhumenti ase-US:
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def main():
params = StdioServerParameters(command="yowes-mcp", args=[])
async with stdio_client(params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
countries = await session.call_tool(
"list_countries_tool", {}
)
for item in countries.content:
print(item.text)
result = await session.call_tool(
"generate_documents",
{
"country": "us",
"first_name": "John",
"last_name": "Smith",
"school_name": "Valley High",
"position": "Head of Science Department",
"date_of_birth": "12/05/1988",
"gender": "Male"
}
)
print(result.content[0].text)
asyncio.run(main())Ngenxa yokuthi izimpendulo zohlu zihlukaniswe zaba izinto zokuqukethwe ngazinye, hlola yonke into eku-countries.content kunokucabanga ukuthi lonke uhlu luvela enanini elilodwa lempendulo.
Ukugeleza Komsebenzi Okusebenzayo Kwe-Agent

- Biza i-
list_countries_toolukuze uthole amakhodi amazwe avumelekile nezinhlobo zamadokhumenti. - Biza i-
list_schoolsusebenzisa ikhodi yezwe ekhethiwe. - Khetha isikole kudatha ebuyisiwe.
- Biza i-
generate_documentsusebenzisa imininingwane egunyaziwe kathisha nesikole. - Funda izindlela ze-PNG ezibuyisiwe bese ucubungula amafayela kuhlelo lwakho.
Lokhu kulandelana kugwema ukuqagela amakhodi amazwe, amagama ezikole, noma izihlonzi zezinhlobo zamadokhumenti.
Amathiphu Athuthukile
Khetha okuphumayo okudingekayo kuphela
Dlulisa uhlu lwe-document_types lapho udinga ingxenye yamadokhumenti atholakalayo ezweni. Lokhu kunciphisa ukunikezwa okungadingekile futhi kugcina uhlu lokuphumayo lugxile kumafayela aceliwe.
Khetha isithombe sephrofayela esizinzile
I-Yowes isebenzisa ukukhetha okusekelwe ku-hashi ukuze igcine izithombe zephrofayela zifana kumuntu ofanayo. Ukunikeza ubuwena bomuntu obuzinzile nobulili obucacile kusiza ukukhiqiza imiphumela ebikezelwayo ngenkathi kukhethwa echibini lezithombe elihambisanayo.
Sebenzisa uhlu lokuphumayo olwenziwe ngokwezifiso
Setha i-output_dir ukuze uhlele izithombe ezikhiqiziwe ngokwephrojekthi, ukuqhutshwa kokuhlola, noma izwe. Izindlela ezihlobene zixazululwa ngokususelwa kuhlu lokusebenza lweseva ye-MCP.
Qalisa i-GUI yakudala lapho kudingeka
Iphrojekthi iphinde ifake isixhumi esibonakalayo esikhethekile se-CustomTkinter esabelana ngomqondo oyinhloko wokukhiqiza:
python main_gui.pyKuma-Windows, indawo yokugcina iphinde inikeze i-run.bat, esetha i-TCL_LIBRARY. Iseva ye-MCP isalokhu iyisixhumi esiyinhloko esisebenza ngaphandle kwe-GUI futhi ayincikile kuyo.
Nweba i-Yowes Ngezwe Elisha
Ukuze ungeze izwe, dala i-countries/<code>/__init__.py bese uchaza ikilasi elizuza ku-countries.base.CountryGenerator. Sebenzisa izindlela ezidingekayo:
get_country_nameget_country_codeget_schools_dataget_first_namesget_last_namesget_positionsget_document_typesgenerate_document
Bhalisa i-generator ku-countries/__init__.py usebenzisa i-register_country("<code>", <Name>Generator). Uma isibhalisiwe, amathuluzi e-MCP amazwe nezikole angayithola ngokuzenzakalelayo. Uma i-GUI kufanele ibonise ilebula yangokwezifiso, buyekeza umqondo wohlu lwamazwe nowokushintsha izwe ku-main_gui.py.
Isiphetho
I-Yowes ihlanganisa abakhiqizi bamadokhumenti abaqondene namazwe, izimpahla ezihlanganisiwe, kanye neseva ye-MCP stdio ibe ukugeleza komsebenzi okuphathekayo. Yifake nge-Python, thola amazwe nezikole ezitholakalayo nge-MCP, khiqiza okukhiphayo okukhethiwe kwe-PNG, bese uhlanganisa le nqubo ku-agent noma kuhlelo lwe-Python. Ekuthuthukiseni nasekuhloleni okusemthethweni, iphethini yayo yokubhalisa amazwe iphinde inikeze indlela ecacile yokwengeza abakhiqizi abasha.
